我在上一门Python入门课程,但有点困在作业上。任何建议或资源将不胜感激!在
问题是:
用Python编写一个程序,提示用户输入由7位数字组成的帐号。在
从用户处获取该帐号后,验证该帐号是否有效。您应该有一个名为“当前帐户”的列表,其中包含所有有效帐户。在
当前有效帐户如下所示,您必须在程序中使用它们。在
5679034 8232322 2134988 6541234 3984591 1298345 7849123 8723217
验证输入的帐号应该在check_account()函数中完成,该函数将接受用户输入的帐户以及列出当前的帐户。如果帐户有效,此函数应返回1;否则,如果帐户无效,则返回0。在
这是到目前为止我所写的,但是我被卡住了,并且在第6-15行中收到了缩进的语法错误。正在接收未定义的accm'current消息。在prompt = "Please, enter the 8 digit account number: "
current_accts = current_accts[1:]
current_accts [-1] = "valid"
while True:
try:
userinput = current_accts(prompt)
if len(userinput ) > 8:
raise ValueError()
userinput = int(userinput)
except ValueError:
print('The value must be an 8 digit integer. Try again')
else:
break
userinput = str(userinput)
a =int(userinput[7])+int(userinput[5])+int(userinput[3])+int(userinput[1])
b1 = str(int(userinput[6])*20)
b2 = str(int(userinput[4])*20)
b3 = str(int(userinput[2])*20)
b4 = str(int(userinput[0])*20)
y = int(b1[0])+int(b1[1])+int(b2[0])+int(b2[1])+int(b3[0])+int(b3[1])+int(b4[0])+int(b4[1])
x = (a+y)
if x % 10 == 0:
print('The account number you entered is valid!')
else:
print('The account number you entered is invalid!')