如何修复此Python elif语句语法错误?

如何修复此Python elif语句语法错误?,python,syntax-error,Python,Syntax Error,我试图用Python编写一个计算器来计算公式,但我的elif语句出现语法错误。我已经在这里和其他网站上查看了一些其他帖子,但似乎人们犯的错误与我不同。提前感谢您的帮助!:)这是我的密码: # IMPORTS import os import math # SELECTION print ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~") print ("~~~ PYTHAGOREAN THEOROM CALCULATOR ~~

我试图用Python编写一个计算器来计算公式,但我的elif语句出现语法错误。我已经在这里和其他网站上查看了一些其他帖子,但似乎人们犯的错误与我不同。提前感谢您的帮助!:)这是我的密码:

# IMPORTS

import os
import math

# SELECTION

print ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
print ("~~~ PYTHAGOREAN THEOROM CALCULATOR ~~~")
print ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
print ("OPTIONS:")
print ("1 - SOLVE FOR HYPOTENUSE")
print ("2 - SOLVE FOR LEG")
print ("3 - SOLVE FOR LEG 2")

user_choice = input("ENTER YOUR CHOICE: ")

# HYPOTENUSE MATHEMATICS

if user_choice == "1":
    firstnh = int(input("ENTER YOUR FIRST LEG'S DIMENSION: "))
    secondnh = int(input("ENTER YOUR SECOND LEG'S DIMENSION: "))

secondsteph = (firstnh ** 2 + secondnh **2)

hanswer = math.sqrt(secondsteph)

print (hanswer , "IS YOUR ANSWER")

input()
os.system('cls')

# LEG 1 MATHEMATICS

elif user_choice == "2":
    firstnl = int(input("ENTER YOUR LEG: "))
    secondnl = int(input("ENTER YOUR HYPOTENUSE: "))

secondstepl = (secondnl ** 2 - firstnl ** 2)

lanswer = math.sqrt(secondstepl)

print (lanswer, "IS YOUR ANSWER")

input()
os.system('cls')
错误在这里:

# LEG 1 MATHEMATICS

elif user_choice == "2":  < - - - ERROR HERE
    firstnl = int(input("ENTER YOUR LEG: "))
    secondnl = int(input("ENTER YOUR HYPOTENUSE: "))

secondstepl = (secondnl ** 2 - firstnl ** 2)

lanswer = math.sqrt(secondstepl)

print (lanswer, "IS YOUR ANSWER")

input()
os.system('cls')

问题在于if和elif子句之间的未插入代码:

secondsteph = (firstnh ** 2 + secondnh **2)

hanswer = math.sqrt(secondsteph)

print (hanswer , "IS YOUR ANSWER")

input()
os.system('cls')

if和elif必须处于同一缩进级别:

if <condition>:
    something
elif <condition>:
    somethingelse

您的用法错误,
elif
语句只能在if语句之后使用

if user_choice == "1":
    firstnh = int(input("ENTER YOUR FIRST LEG'S DIMENSION: "))
    secondnh = int(input("ENTER YOUR SECOND LEG'S DIMENSION: "))
此部分仅在
if
语句中。 从第
secondsteph=(firstnh**2+secondnh**2)
行开始,它是一个新的代码块,不在if块中。如果这是缩进错误,请尝试:


if user_choice == "1":
    firstnh = int(input("ENTER YOUR FIRST LEG'S DIMENSION: "))
    secondnh = int(input("ENTER YOUR SECOND LEG'S DIMENSION: "))

    secondsteph = (firstnh ** 2 + secondnh **2)

    hanswer = math.sqrt(secondsteph)

    print (hanswer , "IS YOUR ANSWER")

    input()
    os.system('cls')

# LEG 1 MATHEMATICS

elif user_choice == "2":
    firstnl = int(input("ENTER YOUR LEG: "))
    secondnl = int(input("ENTER YOUR HYPOTENUSE: "))
如果没有,请填写声明

secondsteph = (firstnh ** 2 + secondnh **2)

hanswer = math.sqrt(secondsteph)

print (hanswer , "IS YOUR ANSWER")

input()
os.system('cls')

elif
块之后

不能有
if
语句,在该
if
语句之外执行常规语句,然后用
elif
扩展
if
。在
if
语句后将特定于第一种情况的代码放入块中(缩进相关!)并在
if
-
elif
-
else
结构之后放置在任何情况下都要执行的常规代码。
elif
应位于
if
语句旁边。在
if
之后有中间代码,它不是
if
的一部分。而且艾利夫可以直接跟我打招呼,我想说谢谢你的帮助,我真的很感激。起初我不明白,但一旦我开始思考清楚,一切就变得明朗起来。我还要感谢所有做出贡献的人。祝您今天过得愉快!(我甚至还学到了一点我正在使用的八年级代数公式哈哈)这是一个缩进错误,我只需要缩进到额外的代码中。谢谢你的帮助!我很感激。
if user_choice == "1":
    firstnh = int(input("ENTER YOUR FIRST LEG'S DIMENSION: "))
    secondnh = int(input("ENTER YOUR SECOND LEG'S DIMENSION: "))

if user_choice == "1":
    firstnh = int(input("ENTER YOUR FIRST LEG'S DIMENSION: "))
    secondnh = int(input("ENTER YOUR SECOND LEG'S DIMENSION: "))

    secondsteph = (firstnh ** 2 + secondnh **2)

    hanswer = math.sqrt(secondsteph)

    print (hanswer , "IS YOUR ANSWER")

    input()
    os.system('cls')

# LEG 1 MATHEMATICS

elif user_choice == "2":
    firstnl = int(input("ENTER YOUR LEG: "))
    secondnl = int(input("ENTER YOUR HYPOTENUSE: "))
secondsteph = (firstnh ** 2 + secondnh **2)

hanswer = math.sqrt(secondsteph)

print (hanswer , "IS YOUR ANSWER")

input()
os.system('cls')