Underwood 发表于 2021-4-13 17:08:54

求助语法错误

#TempConvert.py
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F', 'f']:
    C = (eval(TemStr - 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("输入格式错误")
运行不了啊,不知道是那出了问题
{:10_247:}

Underwood 发表于 2021-4-13 17:13:09

好了,原来少了个括号

傻眼貓咪 发表于 2021-9-5 14:01:04

eval 語句後面必須字符串形態,你的代碼:
C = (eval(TemStr - 32)/1.8 # 這行好像有誤
C = (eval(TemStr) - 32)/1.8 # 應該是這樣才正確

我的代碼:
while True:
    temperature = input("請輸入帶有符號的溫度值:")
    try:
      if temperature[-1].lower() not in ['f', 'c']:
            raise ValueError
      if temperature[-1].lower() == 'f':
            print("轉換後的溫度是{:.2f}C".format((eval(temperature) - 32)/1.8))
            break
      else:
            print("轉換後的溫度是{:.2f}F".format(F = 1.8*eval(temperature) + 32))
            break
    except:
      print("輸入格式錯誤")
      continue
页: [1]
查看完整版本: 求助语法错误