【问题标题】:Using random library to guess number (Python)使用随机库猜测数字(Python)
【发布时间】:2013-12-09 05:49:21
【问题描述】:
#This program generates random number
#user enters guess
#progam tells user higher, lower or correct based on user input.
import random

def main():
    # Get a random number.
    number = random.randint(1, 101)
    user_guess = int(input("Pick a number between 1 and 100: "))
    userguess = guess(user_guess, number)
    print(userguess)


def guess(num1, num2):
    if num1 > num2:
        return("Lower")
    elif num1 < num2:
        return("Higher")
    else:
        return("Correct")

main()

我可以让程序生成一个随机数,然后显示更高或更低,但不能再次显示。它应该再次询问,直到它随机出现,然后显示“正确”

【问题讨论】:

    标签: loops python-3.x random


    【解决方案1】:

    您需要一个循环来不断提示,直到猜到正确答案为止,while(True) 一直运行直到达到break;。尝试这样的事情。

    def guess(num):
        while(True):
            user_guess = int(input("Pick a number between 1 and 100: "))
            if user_guess > num:
                print("Lower\n")
            elif user_guess < num:
                print("Higher\n")
            else:
                print("Correct")
                break;
    

    这将反复要求用户输入数字,直到它们正确为止,将您的主要方法替换为以下内容

    def main():
        # Get a random number.
        number = random.randint(1, 101)
        guess(number)
    

    编辑:将 true 替换为 True

    【讨论】:

    • 谢谢。它崩溃并出现错误 NameError: global name 'true' is not defined
    • 抱歉替换为True(大写T)
    • 感谢您的帮助。非常感激。我想请你喝咖啡,但我没有奶油了。
    • 欢迎您,如果用户想退出,我建议添加一个标志以退出。类似if user_guess == -1: break;
    猜你喜欢
    • 2022-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    相关资源
    最近更新 更多