herself219 2023-02-11 15:58 采纳率: 100%
浏览 21
已结题

为什么输入36c的时候还会运行第一个条件呢(关键词-输入带)

t=input("请输入带有符号的温度值:")
if t[-1] == 'f' or 'F':
    c=(eval(t[:-1])-32)/1.8
    print("转换后的温度为{:.2f}C".format(c))
elif t[-1] =="c" or 'C':
    f=eval(t[:-1])*1.8+32
    print("转换后的温度为{:.2f}F".format(f))

为什么输入36c的时候还会运行第一个条件呢

请输入带有符号的温度值:36c
转换后的温度为2.22C
  • 写回答

1条回答 默认 最新

  • YinHeCS 2023-02-11 16:08
    关注

    这段代码实现的是摄氏度与华氏度的转换,它接收一个带有单位的温度值,如果单位是"f"或"F",那么它将这个华氏度值转换为摄氏度,并以"C"为单位输出;如果单位是"c"或"C",那么它将这个摄氏度值转换为华氏度,并以"F"为单位输出。

    不过有一些细节需要修正:

    判断单位的语句有误,应该改为:

    if t[-1] == 'f' or t[-1] == 'F':
    
    

    同理,如果单位是"c"或"C",判断语句应该改为:

    elif t[-1] =="c" or t[-1] == 'C':
    
    
    

    修正完这两个细节后,代码应该是这样的:

    t=input("请输入带有符号的温度值:")
    if t[-1] == 'f' or t[-1] == 'F':
        c=(eval(t[:-1])-32)/1.8
        print("转换后的温度为{:.2f}C".format(c))
    elif t[-1] =="c" or t[-1] == 'C':
        f=eval(t[:-1])*1.8+32
        print("转换后的温度为{:.2f}F".format(f))
    ```python
    
    
    
    

    ```

    -----“chatgpt”

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月21日
  • 已采纳回答 2月13日
  • 创建了问题 2月11日

悬赏问题

  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗