在python游戏中创建的问题(while循环等)

时间:2012-11-17 00:58:38

标签: python python-3.x while-loop do-while

我正在编写一个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时,计算机没有选择数字,因此玩家会失去很多时间。如何让游戏选择一个数字直到游戏没有完成?

1 个答案:

答案 0 :(得分:0)

1)while playAgain == 'y'应该是首要的循环,因为它应该执行游戏的每个实例。因此,在多了一个标签/ 4个空格之后缩进所有内容。

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

3)您应该在内部if循环之后缩进elsewhile子句,以便在读取每个数字后执行。例如:

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')

编辑:条件应立即修复