题目
练习 10.6:加法运算 在提⽰⽤户提供数值输⼊时,常出现的⼀个问题是,⽤户提供的是⽂本⽽不是数。在这种情况下,当你尝试将输⼊转换为整数时,将引发 ValueError 异常。编写⼀个程序,提⽰⽤户输⼊两个数,再将它们相加并打印结果。在⽤户输⼊的任意⼀个值不是数时都捕获 ValueError 异常,并打印⼀条友好的错误消息。对你编写的程序进⾏测试:先输⼊两个数,再输⼊⼀些⽂本⽽不是数。
将为练习编写的代码放在⼀个 while 循环中,让⽤户在犯错(输⼊的是⽂本⽽不是数)后能够继续输⼊数。
代码
num1, num2 = 0, 0
while True:
try:
num1 = input("enter first number(enter q to quit):")
if num1 == 'q':
break
num1 = int(num1)
except ValueError:
print("enter a number!")
continue
else:
while True:
try:
num2 = input("enter second number(enter q to quit):")
if num2 == 'q':
break
num2 = int(num2)
except ValueError:
print("enter a number!")
continue
else:
print(f"calculate result:{num1 + num2}")
break
打印结果
![计算结果](https://i-blog.csdnimg.cn/direct/00254d1b18874ab69857eb0ab38add7d.png)