Python 巨蟒中的石头、布和剪刀
我是python新手,现在请不要判断代码的质量 所以,我正在制作一个程序,让你们用代码玩石头、布和剪刀。这是我的代码:Python 巨蟒中的石头、布和剪刀,python,Python,我是python新手,现在请不要判断代码的质量 所以,我正在制作一个程序,让你们用代码玩石头、布和剪刀。这是我的代码: import random name = str(input("Enter your name:\n")) choices = ["rock", "papers", "scissors"] print(f"Hi {name}, choose between rock, papers
import random
name = str(input("Enter your name:\n"))
choices = ["rock", "papers", "scissors"]
print(f"Hi {name}, choose between rock, papers and scissors")
while True:
user_choice = str(input('> '))
user_choice.lower()
if user_choice not in choices:
print("ERROR")
computer_choice = random.choice(choices)
print(f"Computer chooses: {computer_choice}")
if user_choice == "rock":
if computer_choice == "papers":
print("Computer wins!")
elif computer_choice == "scissors":
print(f"{name} wins!")
if user_choice == "papers":
if computer_choice == "scissors":
print("Computer wins!")
if computer_choice == "rock":
print(f"{name} wins!")
if user_choice == "scissors":
if computer_choice == "rock":
print("Computer wins!")
elif computer_choice == "papers":
print(f"{name} wins!")
if user_choice == computer_choice:
print("Tie!")
但是,就像我运行代码时一样,它运行得非常好。然而,问题是如果用户没有输入正确的拼写,输出看起来真的很混乱。像这样:
Enter your name:
_____
Hi _____, choose between rock, papers and scissors
> asdf
ERROR
Computer chooses: rock
我不想要最后一行,上面写着计算机选择:摇滚。请有人建议我该怎么做
提前感谢只需使用continue强制用户输入有效选项:
while True:
user_choice = str(input('> '))
user_choice = user_choice.lower()
if user_choice not in choices:
print(f"You chose {user_choice}, please choose rock, paper, or scissors")
continue
[...]
只需使用“继续”强制用户输入有效选项:
while True:
user_choice = str(input('> '))
user_choice = user_choice.lower()
if user_choice not in choices:
print(f"You chose {user_choice}, please choose rock, paper, or scissors")
continue
[...]
只需添加计算机,然后在其他文件中选择:
import random
name = str(input("Enter your name:\n"))
choices = ["rock", "papers", "scissors"]
print(f"Hi {name}, choose between rock, papers and scissors")
while True:
user_choice = str(input('> '))
user_choice.lower()
if user_choice not in choices:
print("ERROR")
else:
computer_choice = random.choice(choices)
print(f"Computer chooses: {computer_choice}")
if user_choice == "rock":
if computer_choice == "papers":
print("Computer wins!")
elif computer_choice == "scissors":
print(f"{name} wins!")
if user_choice == "papers":
if computer_choice == "scissors":
print("Computer wins!")
if computer_choice == "rock":
print(f"{name} wins!")
if user_choice == "scissors":
if computer_choice == "rock":
print("Computer wins!")
elif computer_choice == "papers":
print(f"{name} wins!")
if user_choice == computer_choice:
print("Tie!")
只需添加计算机,然后在其他文件中选择:
import random
name = str(input("Enter your name:\n"))
choices = ["rock", "papers", "scissors"]
print(f"Hi {name}, choose between rock, papers and scissors")
while True:
user_choice = str(input('> '))
user_choice.lower()
if user_choice not in choices:
print("ERROR")
else:
computer_choice = random.choice(choices)
print(f"Computer chooses: {computer_choice}")
if user_choice == "rock":
if computer_choice == "papers":
print("Computer wins!")
elif computer_choice == "scissors":
print(f"{name} wins!")
if user_choice == "papers":
if computer_choice == "scissors":
print("Computer wins!")
if computer_choice == "rock":
print(f"{name} wins!")
if user_choice == "scissors":
if computer_choice == "rock":
print("Computer wins!")
elif computer_choice == "papers":
print(f"{name} wins!")
if user_choice == computer_choice:
print("Tie!")
下面是一个可能的实现: 随机输入 name=输入您的姓名: 选择=[石头、剪刀、布] printfHi{name},在石头、布和剪刀之间选择 尽管如此: 用户选择=无 当用户选择不在选项中时: 用户选择=严格输入'>' 用户选择 计算机选择=随机选择 printfComputer选择:{computer_choice} 如果用户选择==计算机选择: 普林蒂! elif选项[choices.indexuser\u choice+1%lenchoices]==计算机选项: printf{name}获胜! 其他: printfComputer赢了! 一些见解: 您可以使用一个四舍五入的列表来完成比较机制,而不是显式比较。 对用户输入执行while循环,直到正确为止。
下面是一个可能的实现: 随机输入 name=输入您的姓名: 选择=[石头、剪刀、布] printfHi{name},在石头、布和剪刀之间选择 尽管如此: 用户选择=无 当用户选择不在选项中时: 用户选择=严格输入'>' 用户选择 计算机选择=随机选择 printfComputer选择:{computer_choice} 如果用户选择==计算机选择: 普林蒂! elif选项[choices.indexuser\u choice+1%lenchoices]==计算机选项: printf{name}获胜! 其他: printfComputer赢了! 一些见解: 您可以使用一个四舍五入的列表来完成比较机制,而不是显式比较。 对用户输入执行while循环,直到正确为止。
看起来您的错误问题已经解决: 但是对于平局和记分计数器,我准备了以下代码-
import random
name = str(input("Enter your name:\n"))
choices = ["rock", "papers", "scissors"]
print(f"Hi {name}, choose between rock, papers and scissors")
Cwin = 0
Userwin = 0
Tie = 0
while True:
user_choice = str(input('> '))
user_choice.lower()
if user_choice not in choices:
print("ERROR")
computer_choice = random.choice(choices)
print(f"Computer chooses: {computer_choice}")
if user_choice == "rock":
if computer_choice == "papers":
print("Computer wins!")
Cwin = Cwin + 1
print(int(Cwin) , "Computer victories so far")
elif computer_choice == "scissors":
print(f"{name} wins!")
Userwin = Userwin + 1
print(int(Userwin) , "User victories so far")
if user_choice == "papers":
if computer_choice == "scissors":
print("Computer wins!")
Cwin = Cwin + 1
print(int(Cwin) , "Computer victories so far")
elif computer_choice == "rock":
print(f"{name} wins!")
Userwin = Userwin + 1
print(int(Userwin) , "User victories so far")
if user_choice == "scissors":
if computer_choice == "rock":
print("Computer wins!")
Cwin = Cwin + 1
print(int(Cwin) , "Computer victories so far")
elif computer_choice == "papers":
print(f"{name} wins!")
Userwin = Userwin + 1
print(int(Userwin) , "User victories so far")
if user_choice == computer_choice:
print("Tie!")
Tie = Tie + 1
print(int(Tie) , "Ties so far")
看这里的屏幕截图,它工作正常-
看来您的错误问题已经解决了: 但是对于平局和记分计数器,我准备了以下代码-
import random
name = str(input("Enter your name:\n"))
choices = ["rock", "papers", "scissors"]
print(f"Hi {name}, choose between rock, papers and scissors")
Cwin = 0
Userwin = 0
Tie = 0
while True:
user_choice = str(input('> '))
user_choice.lower()
if user_choice not in choices:
print("ERROR")
computer_choice = random.choice(choices)
print(f"Computer chooses: {computer_choice}")
if user_choice == "rock":
if computer_choice == "papers":
print("Computer wins!")
Cwin = Cwin + 1
print(int(Cwin) , "Computer victories so far")
elif computer_choice == "scissors":
print(f"{name} wins!")
Userwin = Userwin + 1
print(int(Userwin) , "User victories so far")
if user_choice == "papers":
if computer_choice == "scissors":
print("Computer wins!")
Cwin = Cwin + 1
print(int(Cwin) , "Computer victories so far")
elif computer_choice == "rock":
print(f"{name} wins!")
Userwin = Userwin + 1
print(int(Userwin) , "User victories so far")
if user_choice == "scissors":
if computer_choice == "rock":
print("Computer wins!")
Cwin = Cwin + 1
print(int(Cwin) , "Computer victories so far")
elif computer_choice == "papers":
print(f"{name} wins!")
Userwin = Userwin + 1
print(int(Userwin) , "User victories so far")
if user_choice == computer_choice:
print("Tie!")
Tie = Tie + 1
print(int(Tie) , "Ties so far")
看这里的屏幕截图,它工作正常-
请您也为积分系统推荐一些代码。这是一个完全独立的问题。好的,我会在另一个问题中问这个问题,请在那边推荐您的代码。请。请你也建议一些积分系统的代码。这是一个完全独立的问题。好的,我会在另一个问题中问这个问题,请在那边建议你的代码。请。如果它对你有帮助,你可以接受答案并向上投票,但是,我同意@chepner,这是一个不同的问题。如果它对你有帮助,你可以接受答案并向上投票,但是,我同意@chepner,这是一个不同的问题。嘿@Hydraulic,很抱歉,这个代码不起作用。请与我联系,即使我做了一些必要的更改。你做了哪些更改?我如何发送截图??XD@coding123你可以看看上面编辑的答案:是的,明白了!!非常感谢。嘿@Hydraulic,很抱歉这个代码不起作用。请与我联系,即使我做了一些必要的更改。你做了哪些更改?我如何发送截图??XD@coding123你可以看看上面编辑的答案:是的,明白了!!非常感谢。