python计算输入的两个数字,try…except…判断是否输入的是数字,如果是则相加,如果不输入q或者n,则循环一直下去:
print("Enter 'q' to quit\n")
while True:
try:
x = input('Pleast enter a number>>>')
if (x == 'q'):
break
x = float(x)
y = input('Pleast enter another number>>>')
if (y == 'q'):
break
y = float(y)
except ValueError:
print('Please enter a number, not letter')
else:
sum = x+y
print('The sum of these number is '+str(sum))
dicision = input('Do you want to continue?y/n>>>')
if (dicision == 'n')or (dicision=='q'):
break
以上结果写成一个函数的形式为:
def main():
print("Enter 'q' to quit\n")
while True:
try:
x = input('Pleast enter a number>>>')
if (x == 'q'):
break
x = float(x)
y = input('Pleast enter another number>>>')
if (y == 'q'):
break
y = float(y)
except ValueError:
print('Please enter a number, not letter')
else:
sum = x+y
print('The sum of these number is '+str(sum))
dicision = input('Do you want to continue?y/n>>>')
if (dicision == 'n')or (dicision=='q'):
break
main()
这里之所以不输入数字会报错,在于上面使用了x = float(x)和y = float(y),如果不是数字,则没有float这一函数,使得出现valueError的提示,而恰好,我们又将valueError的提示改成了‘Please enter a number, not letter’