-1

我正在编写 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)')

我面临的 3 个问题是:
1)当我再次选择“否”播放时,while 循环不会终止游戏。有人可以告诉我我在这方面哪里出了问题,以及我如何在未来的 while 循环中避免这种情况。

2)如果剩余的随机数是1,如果玩家选择了一个更高的数字,那么随机数就会变成负数。我怎样才能避免这种情况?

3)当随机数显示1或2时电脑不选号,所以玩家输了很多时间。我怎样才能让电脑选择一个号码,直到游戏没有结束?

4

1 回答 1

0

1)while playAgain == 'y'应该是总体循环,因为它应该执行游戏的每个实例。因此,在此之后的所有内容都缩进一个制表符/4 个空格。

2)如果值为负,则更改为终止while random_Number != 0while random_Number > 0对于ifs来说似乎没问题。

3)您应该在内部循环之后缩进ifandelse子句,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')

编辑:现在应该修复条件

于 2012-11-17T01:04:56.557 回答