gpt4 book ai didi

python - Rock-Paper-Scissors python 脚本失败

转载 作者:行者123 更新时间:2023-12-04 03:34:17 26 4
gpt4 key购买 nike

我是 python 的初学者。下面是我的剪刀石头布脚本。预期的输出是按照规则抛出“你赢了”或“你输了”或“平局”。但是,即使我按照下面给定的逻辑实际上赢了,它也会抛出“你输了”。

我哪里出错了?有人可以在这里指导我吗?

程序:

# Rock Paper and Scissors Game

import random

rock = "🗿"
paper = "📜"
scissors = "✂"
list = [rock , paper, scissors]

player_chooses = input("What do you choose ? ").lower()

computer_chooses = random.choice(list)

print("The computer choose :", computer_chooses)

if player_chooses == rock and computer_chooses == scissors:
print("You Win")
elif player_chooses == paper and computer_chooses == rock:
print("You Win")
elif player_chooses == scissors and computer_chooses == paper:
print("You Win")
elif player_chooses == computer_chooses:
print("Draw")
else:
print("You Lose")

最佳答案

我知道我迟到了(确切地说是从发布后 1 个月),但你的问题是你正在比较一个字符串(就代码而言是一个字符数组)和代表每个字符的字符串您正在使用的 Unicode 符号 ༼つ ◕_◕ ༽ツ。

但我喜欢您使用这些符号的想法,那么为什么我们不将它们保存在一个函数中,该函数将根据 random.choice() 函数在正确的时间返回所选符号?

import random

def convert(string):
if string == 'rock':
return "🗿"
elif string == "paper":
return "📜"
elif string == "scissors":
return "✂"
else:
print("An error has raised", "Program will Stop")
exit()

choices = ["rock" , "paper", "scissors"]

player_chooses = input("What do you choose ? ").lower()

computer_chooses = random.choice(choices)

print("The computer choose :", convert(computer_chooses))

# --- Watch tip below the code --- #

if player_chooses == computer_chooses:
print("Draw")
elif player_chooses == "rock" and computer_chooses == "scissors":
print("You Win")
elif player_chooses == "paper" and computer_chooses == "rock":
print("You Win")
elif player_chooses == "scissors" and computer_chooses == "paper":
print("You Win")
else:
print("You Lose")

Giving a little tip here that you should keep in mind (⌐■_■):

逻辑选择是昂贵的(如果你使用的是一个会召唤他们很多时间的代码真的很昂贵)当然你几乎没有逻辑选择但​​是你应该小心你写它们的顺序因为这将是顺序他们将被制造。

在这里,从概率的角度来说,你有 1/4 的机会得到任何结果,所以最有效的编码方式是首先询问只有一个比较的唯一选项(这就是为什么我把它从最后一个位置到第一个)。

正如我之前所说,这只是一条评论,因此您可以为您编写的下一段代码学习更好的实践! (进行这些比较的一种计算效率更高的方法是实现一个开关,我鼓励你用谷歌搜索如何在 python 中使用开关,因为它们不是内置语言,但很少有聪明的方法可以通过字典使用它们!)

祝你好运,继续战斗。 Python 是一种了不起的语言,我相信您会喜欢它的!

关于python - Rock-Paper-Scissors python 脚本失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67241300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com