我正在编写一个python代码,因为我是编程的初学者。然而,我已经停止了,因为我无法找到问题的解决方案,所以我希望有人可以发光或引导我告诉我哪里出错了。
纲要大纲:
一个计算机和一个玩家互相玩耍随机数字。无论谁选择最后一个输了。
这是python程序:
import random
playAgain = 'y'
while playAgain == 'y':
random_Number = random.randint(0-30)
while random_Number != 0 :
computer = random.randint(1,6) <= random_Number
random_Number = random_Number - computer
if random_No <= 0 :
print('Player 1 wins')
else:
player = int(input('Enter number'))
random_Number = random_Number - int(player)
if random_Number <=0:
print('Computer wins')
playAgain== input('play again? (yes/no)')
我面临的三个问题是:
1)当我再次选择“否”时,while循环不会终止游戏。
有人可以告诉我这个领域我哪里出错了,以及我将来如何避免这种情况。
2)如果剩余的随机数为1,如果玩家选择的数字更高,则随机数变为负数。如何避免这种情况?
3)当随机数显示1或2时,计算机没有选择数字,因此玩家会失去很多时间。如何让游戏选择一个数字直到游戏没有完成?
答案 0 :(得分:0)
1)while playAgain == 'y'
应该是首要的循环,因为它应该执行游戏的每个实例。因此,在多了一个标签/ 4个空格之后缩进所有内容。
2)如果值为负,则将while random_Number != 0
更改为while random_Number > 0
以终止。对于ifs来说似乎没问题。
3)您应该在内部if
循环之后缩进else
和while
子句,以便在读取每个数字后执行。例如:
while random_Number > 0:
computer = random.randint(1,6) <= random_Number
random_Number = random_Number - computer
if random_No <= 0:
print('Player 1 wins')
else:
player = int(input('Enter number'))
random_Number = random_Number - int(player)
if random_Number <= 0:
print('Computer wins')
编辑:条件应立即修复