练习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}")