首页 文章

我不明白这段代码有什么问题

提问于
浏览
0

我得到elif选项== 2的语法错误:我想知道我需要做些什么来解决它 . 我按照教授给我们的伪代码,但它仍然无法运行 . 我想知道我是不是应该使用elif,也可能是关于缩进的事情 .

import random

print("Welcome to the guess my number program")

while True:
        print("1. You guess the number")
        print("2. You type a number and see if the computer can guess it")
        print("3. Exit")
        option = int(input("Please enter your number here: "))
        if option ==1:
        #generates a random number
                mynumber = random.randint(1,11)
        #number of guesses
        count = 1
        while True:
                try:
                        guess = int(input("Guess a number between 1 and 10:"))
                        while guess < 1 or guess > 10:
                                guess = int(input("Guess a number between 1 and 10:"))  # THIS LINE HERE
                except:
                        print("Numbers Only")
                        continue
                #prints if the number you chose is too low and adds 1 to the counter
                if guess < mynumber:
                        print("The number you chose is too low")
                        count= count+1
                #prints if the number you chose is too high and adds 1 to the counter
                elif guess > mynumber:
                        print("The number you choose is too high")  
                        count = count+1
#If the number you chose is correct it will tell you that you guessed the number and how many attempts it took
                elif guess == mynumber:
                        print("You guessed it in " , count , "attempts")
                        break
        elif option == 2:
                number = int(input("Please Enter a Number: "))
                count = 1
                while True:
                        randomval = random.randint(1,11)
                        if (number < randomval):
                                print("Too high")
                        elif (number > randomval):
                                print("Too low")
                                count = count+1
                        elif (number==randomval):
                                print("The computer guessed it in" + count + "attempts. The number was" + randomval)
                                break
                else:
                        break

1 回答

  • -1

    问题很简单 . if option == 1elif option == 2 之间没有连续性,因为在while循环之间 . 你要做的是删除 elif option == 2el 部分,然后写 if option == 2 .

    我自己没有测试过整个程序 . 但一目了然,这应该可以纠正这个问题 .

    如果不是,请评论 .

相关问题