1.实现由循环控制的温度转换程序,输入q或Q时结束程序。要求设
置异常处理:对于所有类型异常,程序都显示一下正确的输入数据格式,
然后返回去让用户重新输入数据。
while True:
try:
x=input("请输入'数字串+C'或'数字串+F',退出请按Q或q:")
if x=="Q" or x=="q":
break
if x[-1] in ['F','f']:
C=(eval(x[0:-1])-32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif x[-1] in ['C','c']:
F=1.8*eval(x[0:-1])+32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
except:
print("正确的输入格式是:'数字串+F'或'数字串+C'")
2.编写程序,键盘输入x和y的值,计算并输出表达式 ln(3x-1)/y 的值。要求设
置异常处理,对除0、负数求对数两种情况进行异常捕捉处理。
import math
while True:
try:
x,y=eval(input("请输入x,y:"))
print(math.log(3*x-1)/y)
except ZeroDivisionError:
print("发生异常!除数不能为0!")
except ValueError:
print("发生异常!函数域错误!")
else:
break