我有一个语法错误,我不知道该怎么做

时间:2017-09-29 01:14:27

标签: python syntax

我正在为初学者编写一本编程书中的代码。 这就是它的样子。 (我必须延长这个帖子,因为这个网站在问题上非常简单。)

import random
print("You are in a dark room in a mysterious castle.")
print("In front of you are four doors. You must choose one.")
playerChoice = input("Choose 1, 2, 3, or 4...")
if playerChoice == "1":
        print("You found a room full of tresure. YOU'RE RICH!!!")
        print("GAME OVER, YOU WIN!")
elif playerChoice == "2":
        print("The door opens and an angry ogre hits you with his club.")
        print("GAME OVER, YOU DIED!")
elif playerChoice == "3":
        print("You encounter a sleeping dragon.")
        print("You can do either:")
        print("1) Try to steal some of the dragon's gold")
        print("2) Sneak around the dragon to the exit")
        dragonChoice = input("type 1 or 2...")
        if dragonChoice == "1":
            print("The dragon wakes up and eats you. You are delicious.")
            print("GAME OVER, YOU WERE EATEN ALIVE.")
        elif dragonChoice == "2":
            print("You sneak around the dragon and escape the castle, blinking in the sunshine.")
            print("GAME OVER, YOU ESCAPED THE CASTLE.")
        else:
                print("Sorry, you didn't enter 1 or 2.")

elif    playerChoice == "4":
            print("You enter a room with a sphinx.")
            print("It asks you to guess what number it is thinking of, betwwen 1 to 10.")
            number = int(input("What number do you choose?")
        if number == random.randint (1, 10)
                print("The sphinx hisses in dissapointment. You guessed correctly.")
                print("It must let you go free.")
                print("GAME OVER, YOU WIN.")             
        else:
             print("The sphinx tells you that your guess is incorrect.")
             print("You are now it's prisoner forever.")
             print("GAME OVER, YOU LOSE.")        
        else:
         print("sorry, you didn't enter 1, 2, 3, or 4...")
         print("YOU TURN BACK AND LEAVE (YOU COWARD)")

3 个答案:

答案 0 :(得分:0)

Python是一种以空格分隔的语言,这意味着您需要特别注意缩进。你的缩进不一致,这将不可避免地导致问题。

除此之外,您没有指定您的错误实际上是什么。将语法错误信息添加到您的帖子中。

答案 1 :(得分:0)

以下是您的两个问题:

number = int(input("What number do you choose?")
if number == random.randint (1, 10)

int的强制转换缺少右括号,而if语句缺少冒号。

最后一个问题与最后的双else语句有关。取消缩进最后一个,假设这是你想要的。

修正:

import random
print("You are in a dark room in a mysterious castle.")
print("In front of you are four doors. You must choose one.")
playerChoice = input("Choose 1, 2, 3, or 4...")
if playerChoice == "1":
    print("You found a room full of tresure. YOU'RE RICH!!!")
    print("GAME OVER, YOU WIN!")
elif playerChoice == "2":
    print("The door opens and an angry ogre hits you with his club.")
    print("GAME OVER, YOU DIED!")
elif playerChoice == "3":
    print("You encounter a sleeping dragon.")
    print("You can do either:")
    print("1) Try to steal some of the dragon's gold")
    print("2) Sneak around the dragon to the exit")
    dragonChoice = input("type 1 or 2...")
    if dragonChoice == "1":
        print("The dragon wakes up and eats you. You are delicious.")
        print("GAME OVER, YOU WERE EATEN ALIVE.")
    elif dragonChoice == "2":
        print(
            "You sneak around the dragon and escape the castle, blinking in the sunshine.")
        print("GAME OVER, YOU ESCAPED THE CASTLE.")
    else:
        print("Sorry, you didn't enter 1 or 2.")

elif playerChoice == "4":
    print("You enter a room with a sphinx.")
    print("It asks you to guess what number it is thinking of, betwwen 1 to 10.")

    number = int(input("What number do you choose?"))

    if number == random.randint(1, 10):
        print("The sphinx hisses in dissapointment. You guessed correctly.")
        print("It must let you go free.")
        print("GAME OVER, YOU WIN.")
    else:
        print("The sphinx tells you that your guess is incorrect.")
        print("You are now it's prisoner forever.")
        print("GAME OVER, YOU LOSE.")
else:
    print("sorry, you didn't enter 1, 2, 3, or 4...")
    print("YOU TURN BACK AND LEAVE (YOU COWARD)")

答案 2 :(得分:0)

你刚刚遇到一些间距问题,并在第30行忘记了“:”

System.Net.Mail.SmtpException: Failure sending mail. ---> System.IO.IOException: Unable to read data from the transport connection: net_io_connectionclosed.