温度转换异常处理求讲解
本帖最后由 qiuyouzhi 于 2020-3-28 13:52 编辑try:
x=input()
if x[-1] in ["F","f"]:
print((x-32)/1.8)
if x[-1] in ["C","c"]:
print(x*1.8+32)
except NameError:
print('试图访问的变量名不存在')
except SyntaxError:
print('存在语法错误')
except Exception as e:
print(e) 本帖最后由 qiuyouzhi 于 2020-3-28 13:52 编辑
答案是
try:
TempStr = input()
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr) - 32) / 1.8
print("{:.2f}C".format(C))
elif TempStr[-1] in ['C', 'c']:
F = 1.8 * eval(TempStr) + 32
print("{:.2f}F".format(F))
else:
print("输入错误,末位只能是'C','c','F','f'")
except NameError:
print('试图访问的变量名不存在')
except SyntaxError:
print('存在语法错误')
except Exception as e:
print(e) input返回的str类型,不能直接和int进行数值计算 我应该怎么修改? 我该怎么修改?
except SyntaxError:
print('存在语法错误')这个块没用,except SyntaxError 只能用来防止 eval 和 exec 报错。 我该怎么修改? 本帖最后由 李子豪 于 2020-3-28 15:06 编辑
输入正常,输出转换后的温度,保留小数点后2位小数。
当检测到NameError错误时输出'试图访问的变量名不存
当检测到SyntaxError 错误时输出'存在语法错误'
页:
[1]