练习10-6 加法运算

提示用户提供数值输入时,常出现的一个问题是,用户提供的是文本而不是数。在这种情况下,当你尝试将输入转换为整数时,将引发 ValueError 异常。编写一些程序,提示用户输入两个数,再将它们相加并打印结果。在用户输入的任何一个值不是数字时都捕获 ValueError 异常,并打印一条友好的错误消息。对你编写的程序进行测试:先输入两个数,再输入一些文本而不是数。

1 try:
 2     x = input("Give me a number: ")
 3     x = int(x)
 4 
 5     y = input("Give me another number: ")
 6     y = int(y)
 7 
 8 except ValueError:
 9     print("你他妈好像瞎,你睁开你的狗眼看看你输入的是数字吗")
10 
11 else:
12     sum = x + y
13     print(f"The sum of {x} and {y} is {sum}")

练习10-7 加法计算器

将你为完成练习10-6而编写的代码放在一个 while 循环中,让用户犯错(输入的是文本而不是数)后能够继续输入数。

1 print("Enter 'q' at any time to quit.\n")
 2 
 3 while True:
 4     try:
 5         x= input("\nGive me a number: ")
 6         if x == 'q':
 7             break
 8 
 9         x= int(x)
10 
11         y = input("Give me another number: ")
12         if y == 'q':
13             break
14 
15         y = int(y)
16 
17     except ValueError:
18         print("你他妈好像瞎,你睁开你的狗眼看看你输入的是整数吗")
19 
20     else:
21         sum = x + y
22         print(f"the sum of {x} and { y } is {sum}")