我正在尝试制作一个程序,显示某人是否符合录取标准。但是,我在第一个“ if”语句上始终收到语法错误。代码如下。
import sys
gpa=0
tscore=0
gpa=eval(input("Enter a grade point average between 0.0 and 4.0 inclusive")
if(gpa>4.0 or gpa<0.0):
print("Error: GPA must be between 0.0 and 4.0 inclusive")
sys.exit
tscore=eval(input("Enter an admission test score between 0.0 and 4.0 inclusive.")
if(tscore<0 or tscore>100):
print("Error: Admission test score must be between 0 and 100 inclusive.")
sys.exit
if(gpa>=3.0 and tscore>=60):
print("The admission result is accepted.")
if(gpa<3.0 and tscore>=80):
print("The admission result is accepted.")
else:
print("The admission result is Rejected.")`
答案 0 :(得分:2)
您的立即问题位于if
语句的之前行:
# open: v v
gpa=eval(input("Enter a grade point average between 0.0 and 4.0 inclusive")
# close: ^
请注意左括号和右括号的数量。这些应该保持平衡。
还请记住(尽管这是一个样式问题),Python在条件语句中不需要括号。说完全可以接受:
if gpa > 4.0 or gpa < 0.0:
此外,eval
非常强大,因此在某些情况下(例如用户输入os.system('rm -rf /*')
)非常危险。如果您想将字符串转换为整数,这就是int()
的目的,而没有删除所有文件的危险:-)
示例用法如下:
import sys
try:
val = int(input("What? "))
except:
print("An error occurred")
sys.exit(1)
print("You entered {}".format(val))