【发布时间】:2020-10-04 04:35:28
【问题描述】:
这是 udemy 的作业,我的解决方案不起作用,这是问题:
编写一个函数,请求一个整数并打印它的平方。使用带有 try, except, else 块的 while 循环来解决输入错误。 这是我的解决方案:
def ask():
while True:
try:
user_input = int(input('give me int energe:'))
squ = user_input**2
print('boom! show you my power:'+squ)
except:
print('lack of int energe')
continue
else:
print('Gotcha')
break
finally:
print('boooooom')
pass
如果我输入str,异常运行良好但即使我输入一个int也显示与str相同的结果,为什么会发生这种情况?
这是正确的解决方案:
def ask():
while True:
try:
n = int(input('Input an integer: '))
except:
print('An error occurred! Please try again!')
continue
else:
break
print('Thank you, your number squared is: ',n**2)
我不知道为什么我的尝试不能顺利进行
【问题讨论】:
标签: python error-handling