输入必须介于100和200之间的python

2024-10-02 04:23:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个程序,让用户多次输入一个数字,直到所说的数字在100到200之间。如果用户输入字符串或非整数,则会创建错误消息并提示用户重试。目前我有问题的线路:

print("You tried " + guesssesTakenInt + "numbers and " + guessesTakenStr +  
   "non-number to get it right.")

我假设我必须把它变成一个while循环,这样就会出现以下错误:没有定义guessestakeint。在

^{pr2}$

Tags: and字符串用户程序you消息错误数字
1条回答
网友
1楼 · 发布于 2024-10-02 04:23:48

{如你所说。但还不止这些,你还有两个不同的while

  1. 用于检查用户是否键入数字
  2. 用于检查数字是否在100和200之间

以下是您需要做的:

  1. 两个while应该合并为一个。在
  2. {{cd4{3}在解析前使用cd3}。在
  3. guesssesTakenInt更改为guessesTakenInt
  4. guessesTakenInt += 1ed更改为guessesTakenInt += 1
  5. 修正你的压痕

我擅自更改了你的密码。在

def main():
    # this is the code that runs when your program is executed
    guessesTakenInt = 0
    guessesTakenStr = 0

    user_input = input("Please enter a number between 100 and 200: ")

    while True:
        if user_input.isnumeric():
            user_input = int(user_input)
            guessesTakenInt += 1
            if user_input > 200:
                user_input = input("This number is too big. Try again: ")
            elif user_input < 100:
                user_input = input("This number is too low. Try again: ")
            else:
                guessesTakenInt = str(guessesTakenInt)
                guessesTakenStr = str(guessesTakenStr)
                print("That number is just right!")
                print("You tried {} numbers and {} non-numbers to get it right.".format(guessesTakenInt, guessesTakenStr))
                break
        else:
            guessesTakenStr += 1
            print("Sorry that is not a number. ")
            user_input = input("Please enter a number between 100 and 200: ")

main()

相关问题 更多 >

    热门问题