from random import randint
import sys
l2= ["Rock", "Paper", "Scissors"]
computer = l2[randint(0,2)]
wins = 0
losses = 0
player = False
while player == False:
player = input("Rock," "Paper," "Scissors")
if player == computer:
print("Tie")
elif player == "Rock":
if computer == "Paper":
print("You lose")
else:
print("You win Congrats")
elif player == "Paper":
if computer == "Scissors":
print("You lose")
else:
print("You win Congrats")
elif player == "Scissors":
if computer == "Rock":
print("Try again")
else:
print("You won")
elif player == "Rock":
if computer == "Scissors":
print("You won")
elif player == "Paper":
if computer == "Rock":
print("You won")
elif player == "Scissors":
if computer == "Paper":
print("You won")
else:
print("That is not a valid play Game Over for you")
player = False
computer = l2[randint(0,2)]
我的代码由于某种原因无法运行,它只在终端上显示else语句。我不知道我做错了什么。请帮助我,初学者在这里学习python和做一些简单的项目开始。你知道吗
看看你的代码,大约一半的if-else案例不起作用。你的代码怎么了?代码正在运行。你可以消除一半的elif案例,因为它们永远不会执行。If和elif是连续的。如果您仍然认为您的代码不起作用,请逐个缓慢地进行调试。如中所示,将计算机设置为常量并测试所有情况。你知道吗
我复制粘贴了你的代码,它工作得很好,至少表面上的功能。删除不必要的elif:
逻辑运作得很好。祝你在游戏中添加其他功能好运。你知道吗
我建议尝试使用upper()来减少打字错误造成的失败,也可以使用exit string命令。对于您似乎想要添加的赢/输功能,只需做一个添加到赢/输号码的标志。你也可以添加其他“命令”到你的游戏与更多的如果否则的情况。祝你好运。你知道吗
首先,不应该在同一个问题上添加Python2.x和Python3.x标记。为了简单起见,我在3.x上尝试了你的代码,它部分工作。 第二,描述你的问题。不要只写“因为某些原因不会跑”。 第三,描述你想要达到的目标。我将为你举个例子。你知道吗
你的游戏是这样运作的:
确定计算机的功能
询问玩家做什么(部分工作)
比较播放器和计算机操作并打印结果(不起作用)
从1开始(不起作用)
第一个问题是while循环,您应该这样做:
为什么?你想要一个永无止境的循环只有当玩家输入了一个错误的动作,然后你想要强制循环结束,你用一个“break”语句来完成。你知道吗
你的第二个问题是,你使用了太多的if-else构造,你不需要那么多来处理所有的情况。下面是我的Python 3代码:
如果你有任何问题,问我。你知道吗
Edit:您还应该考虑将函数和主循环移动到它自己的(game)类中,这样就不需要使用丑陋的“global”语句来访问变量。你知道吗
我还有一个石头布剪刀的游戏
以下是一些工作代码:
相关问题 更多 >
编程相关推荐