【发布时间】:2012-10-16 21:19:06
【问题描述】:
我正在尝试编写一个程序,其中用户输入一个两位整数,输出是第二个数字,打印出第一个数字指示的次数。这是我目前所拥有的:
number = input('Type two-digit integer \n')
a = int(number)//10
b = int(number)%10
if len(number) != 2:
print(number, 'is not a two-digit integer')
else:
print(a*str(b))
当我对此进行测试时,只要有人输入数字,它就会按照我的意图去做。如果有人要输入,比如 6r,就会弹出一条错误消息:
a = int(number)//10
ValueError: int() 以 10 为底的无效文字:'6r'
所以我假设需要在代码的第二行添加一些东西来测试输入是否实际上是一个整数,我该怎么做?用不同的方式重写它会更好吗?请记住,我正在参加 Python 入门课程,这是我正在参加的练习中期的一个问题,所以如果我不得不在真正的中期回答这样的问题,我不能使用很多复杂的过程。
这是我尝试过的,如果有人键入不是整数的东西,但由于某种原因,我不知道它为非整数提供了与整数相同的消息,并且没有按我的意图运行它到:
number = input('Type two-digit integer \n')
if (isinstance(number, int)) == False:
print(number, 'is not a two-digit integer')
elif len(number) != 2:
print(number, 'is not a two-digit integer')
else:
a = int(number)//10
b = int(number)%10
print(a*str(b))
我们将不胜感激!
【问题讨论】: