练习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. ") 2 3 while True: 4 try: 5 x= input(" Give 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}")