完成:温度之间的转换🌧
最初形成的代码:
别记这段代码,因为有很多错误··🙈
TempStr = input("请输入带有符号的温度值:")
if Tempstr[-1] in ['F','f']:
C = (eval(Tempstr[0:-1]) - 32)/1.8
print("转化后的温度是{:.2f}C".format(C))
elif Tempstr[-1] in ['C','c']:
F = (eval(Tempstr[0:-1])+32)*1.8
print("转化后的温度是{:.2f}F".format(F))
出现问题
编译后,可以输入值,但程序无法输出运算结果
解决问题
由于使用Sublime编写程序,该工具不会输出报错信息,使用 cmd 运行代码后,提示报错信息:NameError: name ‘Tempstr’ is not defined
原因
变量未正确区分大小写,应该是最初定义的 TempStr ,
修改后成功运行
注意:sublime 不支持交互式,所以,还是别偷懒,用 pycharm 吧。
修改后的代码
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F','f']: #[-1]表示字符串最后一个字符
C = (eval(TempStr[0:-1]) - 32)/1.8 #eval()表示取出括号里面的值,[0:-1]表示第一位到倒数第二位值,0表示正向开始的第一位,
print("转化后的温度是{:.2f}C".format(C)) #{:.2f}表示格式化,其中{}是个"槽",将format的值填充进去,”:.2f"表示金输出小数点后两位
elif TempStr[-1] in ['C','c']:
F = 1.8*eval(TempStr[0:-1])+32
print("转化后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")