I.CARE.
2019-01-30 15:06
采纳率: 100%
浏览 2.6k

求大神指点Python温度转换代码报错原因,拜托了

想设计一段温度转换的代码
请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

转换算法如下:(C表示摄氏度、F表示华氏度)
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

     C = ( F - 32 ) / 1.8

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

     F = C * 1.8 + 32

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬
下面是dai'ma

#tempstr.py
temp=input("请输入带有符号的温度值:")
if temp[-1] in ["c","C"]:
c=eval(temp[0,-1])*1.8+32
print("转换后的温度是{:.2f}F".format(c))
elif temp[-1] in ["F","f"]:
F=(eval(temp[0,-1])-32)/1.8
print("转换后的温度是{:.2f}C".format(F))
else:
print("输入格式错误")

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • JRneymar 2019-01-31 14:52
    已采纳

    楼主你的F=(eval(temp[0,-1])-32)/1.8写错了,temp[0,-1]修改为temp[0:-1],截取最后一个字符的前的所有字符

    已采纳该答案
    打赏 评论
  • hpu刘 2019-01-30 16:10
     temp=input("请输入带有符号的温度值:")
        if temp[-1] in ["c","C"]:
            c = eval(temp[0:-1])*1.8+32
            print("转换后的温度是{:.2f}F".format(c))
        elif temp[-1] in ["F","f"]:
            F=(eval(temp[0:-1])-32)/1.8
            print("转换后的温度是{:.2f}C".format(F))
        else:
            print("输入格式错误")
    
    打赏 评论
  • _xiaoxiao程序员 2019-01-30 16:29

    图片说明

    楼主的代码没问题哦,请楼主检查下是不是缩进有错误导致的,或者说明下什么错误

    打赏 评论
  • 沵若成风 2019-01-30 17:01

    图片说明

    打赏 评论
  • johnnywith 2021-10-14 10:39

    #TempConvert.py
    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=1.8*eval(TempStr[0:-1])+32
    print("转换后的温度是{:.2f}F".format(F))
    else:
    print("输入格式错误")
    麻烦大神看看我这段代码,输入c可以成功输出F,但是输入f会报错C没有定义

    打赏 评论

相关推荐 更多相似问题