我已经在这里待了几个小时,搜索问题,甚至问我的兄弟,他是EE的高年级学生,甚至他也很难过。这是针对今晚午夜之前到期的项目,我似乎无法摆脱这个错误。任何人都可以看看我的代码,并弄清楚为什么我一直收到这个错误?谢谢,是的,它们在while语句下正确缩进。
# Initialize Variables
count = 0
#First Customer Input
cus = input("Enter customer's name: ")
custype = input("Enter customer's service type (R for Residential. B for Business): ")
location = input("Enter customer's service location (C for City. P for Parish): ")
kwh = eval(input("Enter customer's number of Kilowatt Hours Used: ")
#Repeat loop based on input items NOT being the sentinel value
while (count < 10):
if custype == 'R' and location1 == 'C':
rate = residentialCity
elif custype == 'R' and location1 == 'P':
rate = residentialParish
elif custype == 'B' and location1 == 'C' or 'P':
rate = business
答案 0 :(得分:5)
kwh = eval(input("Enter customer's number of Kilowatt Hours Used: ")
计算括号。
正如D.Shawley在评论中指出的那样,将用户输入传递给eval
可以做任意不好的事情。你为什么还在那里使用eval
?
答案 1 :(得分:3)
如上所述,你在那里遗漏了一个括号:
kwh = eval(input("Enter customer's number of Kilowatt Hours Used: ")
为什么需要eval
声明?好像你期待一个数字,并希望将字符串更改为整数。为什么不这样做?
kwh = int(input("Enter customer's number of Kilowatt Hours Used: "))
只是一个建议,但除非没有更好的方法,否则不要使用eval
。这是不安全和不稳定的,有人可能无意或无意地输入代码并弄乱你的程序。