首页 > 解决方案 > 当我将一个包含整数的变量和一个包含来自用户的数字输入的变量等同起来时,为什么会出现语法错误?

问题描述

我只是在学习 Python 的基础知识并创建了一个猜数游戏。我希望用户能够尽可能多地猜测数字,直到他们猜对为止。我通过一个while循环做到了这一点,但"else guess == a:"接近尾声的代码给了我一个语法错误。我很困惑,因为 while 循环确保输入猜测是if语句的整数,

if guess.isdigit():
     guess = int(guess)

请帮忙

import random 
a = random.randint(1,10)

print("this is a number guessing game")
question_one = input("Would you like to play? Yes or No?:")

if question_one == "Yes":
    print("Let's go!")
else:
    print("That sucks!")
    exit()
guess = None
while guess != a:
    guess = (input("Alright, guess a number from 1-10"))
    if guess.isdigit():
        guess = int(guess)

    if guess > a:
        guess = int(input("Guess lower!"))
    elif guess < a:
        guess = int(input("Guess higher!"))
    else guess == a:
        print("you got it!")

标签: pythonobject

解决方案


如果你有最后一个 else,如果任何其他条件为 false,else 中的代码将被执行。所以我认为如果你用 elif 改变最后一个 else ,我们就可以正常工作。


推荐阅读