try位置不同导致的错误
正确的import random
n=random.randint(1,10)
while 1:
try:
number=int(input('猜一个整数:'))
if number>n:
print('大了')
elif number<n:
print('小了')
elif number==n:
print('回答正确')
break
except (TypeError,ValueError,KeyboardInterrupt,EOFError):
print('请确保是整数')
错误的
import random
n=random.randint(1,10)
while 1:
number=int(input('猜一个整数:'))
try:
if number>n:
print('大了')
elif number<n:
print('小了')
elif number==n:
print('回答正确')
break
except (TypeError,ValueError,KeyboardInterrupt,EOFError):
print('请确保是整数')
显示的错误为
Traceback (most recent call last):
File "G:\练习\1\1.py", line 4, in <module>
number=int(input('猜一个整数:'))
ValueError: invalid literal for int() with base 10: 'sss'
number=int(input('猜一个整数:')) 这就出错了,不用try捕捉肯定报错 异常是在 number=int(input('猜一个整数:')) 这里触发的,而你的 try 在下面,当然会触发异常 input返回的是str类型,如果是普通字符串不能直接用int转化
页:
[1]