用户输入 Exit 以中断 while 循环

She*_*Lin 5 python input exit break while-loop

我正在为计算机分配一个随机数并让用户输入他们的猜测。问题是我应该给用户一个选项来输入“退出”,它会打破 While 循环。我究竟做错了什么?我正在运行它,它说 guess = int(input("Guess a number from 1 to 9:"))

import random

num = random.randint(1,10)
tries = 1
guess = 0

guess = int(input("Guess a number from 1 to 9: "))

while guess != num:
    if guess == num:
        tries = tries + 1
        break
    elif guess == str('Exit'):
        break
    elif guess > num:
        guess = int(input("Too high! Guess again: "))
        tries = tries + 1
        continue
    else:
        guess = int(input("Too low! Guess again: "))
        tries = tries + 1
        continue

print("Exactly right!")
print("You guessed " + str(tries) + " times.")
Run Code Online (Sandbox Code Playgroud)

uni*_*rn2 2

您正在尝试将字符串“Exit”解析为整数。您可以在转换线周围添加 try/ except 并处理无效输入。

import random

num = random.randint(1,9)
tries = 1
guess = 0

guess = input("Guess a number from 1 to 9: ")

try:
  guess = int(guess) // try to cast the guess to a int
  while guess != num:
    if guess == num:
        tries = tries + 1
        break
    elif guess > num:
        guess = int(input("Too high! Guess again: "))
        tries = tries + 1
        continue
    else:
        guess = int(input("Too low! Guess again: "))
        tries = tries + 1
        continue

  print("Exactly right!")
  print("You guessed " + str(tries) + " times.")    

except ValueError: 
    if guess == str('Exit'):
      print("Good bye")
    else:  
      print("Invalid input")
Run Code Online (Sandbox Code Playgroud)