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