首页 > 解决方案 > 这个程序一遍又一遍地循环同样的事情,我希望它做一次,然后继续循环下面的其他程序

问题描述

当我运行它时,它只是不断重复自己一遍又一遍地要求一个数字。我是python的初学者,所以请不要判断。

import random
import time

while True:
    guess = input("Please enter a lucky number between 1 to 10:\n")
    number = random.randint(0, 10)
    print ("Random number is " + str(number) + ":")
    if guess == number:
        print ("Awesome - You guessed correctly!")
        answer = input('Would you like to try again? (y/n):\n')
        def func():
            if answer == 'n':
                print ("Have a wonderful day!")
                time.sleep(2)
else:
    print("Good try, Would you like to play again? (y/n):")     
    func()

标签: pythonwhile-loop

解决方案


你可以这样做:

import random
import time

number = random.randint(0, 10)

while True:
    guess = int(input("Please enter a lucky number between 1 to 10:\n"))
    
    print ("Random number is " + str(number) + ":")
    if guess == number:
        print ("Awesome - You guessed correctly!")
        answer = input('Would you like to try again? (y/n):\n')
        if answer == 'n':
            print ("Have a wonderful day!")
            break
        else:
            print("generating new number...")
            number = random.randint(0, 10)

推荐阅读