【发布时间】:2015-04-15 16:50:54
【问题描述】:
我是一名正在学习计算机科学课程的学生,为了进行部分评估,我们必须编写一个程序,该程序将从用户那里获取 10 位数字,并使用它们计算第 11 个数字以生成 ISBN。用户输入的数字必须限制为一位,如果输入多于一位,则应显示错误消息。这是我正在使用的代码:
print('Please enter your 10 digit number')
a = int(input("FIRST NUMBER: "))
aa = (a*11)
if len(a) > 1:
print ("Error. Only 1 digit allowed!")
b = int(input("SECOND NUMBER: "))
bb = (b*10)
if len(a) > 1:
print ("Error. Only 1 digit allowed!")
等等。
我必须将输入保持为整数,以便程序其余部分中的一些计算工作,但是当我运行程序时,错误提示“'int' 类型的对象没有 len()”。我假设它指的是它是一个整数并且没有长度的事实。有什么方法可以将“a”保留为整数但将长度限制为 1 位?
(我也知道可能有更高效的程序编写方式,但我对python的了解相当有限)
【问题讨论】:
-
aa = (a*11)和bb = (b*10)完全是假的,它们强制用户输入一个数字,然后将该数字乘以 10 或 11;而不是在调用input()时迭代 10 或 11 次