我尝试创建一个程序,提示用户输入他们的成绩,然后在一系列嵌套的If-Else语句中比较该值x:
x = int(input("What is your grade?"))
def grade(x):
if x >= 90:
return "A"
else:
if x >= 80:
return "B"
else:
if x >= 70:
return "C"
else:
if x >= 60:
return "D"
else:
return "F"
print( "Grade:", grade(x))
当我尝试运行此程序时,收到错误消息:
ParseError: bad input on line 4
错误:
if x >= 90:
到目前为止,由于此错误,我无法让对话框显示要求用户输入成绩。
编辑:修复缩进并使用Elif
x = int(input("What is your grade?"))
def grade(x):
if x >= 90:
return "A"
elif:
x >= 80:
return "B"
elif:
x >= 70:
return "C"
elif:
x >= 60:
return "D"
else:
return "F"
print( "Grade:", grade(x))
仍然给我一个语法错误:
SyntaxError: invalid syntax (<string>, line 7).
答案 0 :(得分:1)
如果你正在使用嵌套的else-if,我建议你使用elif
x = int(input("What is your grade?"))
def grade(x):
if x >= 90:
return "A"
elif x >= 80:
return "B"
elif x >= 70:
return "C"
elif x >= 60:
return "D"
else:
return "F"
print( "Grade:", grade(x))
输入:What is your grade? 10
输出:F
请注意缩进块!
如果你不清楚它,这是语法。
if expression1:
statements
elif expression2:
statements
elif expression3:
statements
else:
statements
答案 1 :(得分:1)
清理代码并修复这些代码。 python中的indention表示代码块。缩进内的所有代码都属于上级父级。
如果示例:
if(#argument here):
->indent #some line of code here
->indent #some line of code here
等效:
if(#argument){
#code block
#code block
#code block
}
因此,要创建一个合适的if-else:
如果(#argument): - &gt;缩进代码 其他: - &gt;缩进代码
快乐编码:)
答案 2 :(得分:1)
我认为这是一项学校作业,所以我会保持简单。
#!/usr/bin/env python3
def grade(x):
if x >= 90:
return 'A'
elif x>=80:
return 'B'
elif x >= 70:
return 'C'
elif x >= 60:
return 'D'
else:
return 'F'
try:
x = int(input("What are your total marks? "))
print("Grade: {}".format(grade(x)))
except ValueError as e:
print("You did not enter valid total marks.")
exit(0)
答案 3 :(得分:1)
这是一个缩进问题。第一个if是进入函数,所以你需要缩进它。第一次返回可以缩进。
请参阅:
x = int(input("What is your grade?"))
def grade(x):
if x >= 90:
return "A"
else:
if x >= 80:
return "B"
else:
if x >= 70:
return "C"
else:
if x >= 60:
return "D"
else:
return "F"
print( "Grade:", grade(x))
在Python中,你需要注意缩进。
继续编码!