鱼C论坛

 找回密码
 立即注册
查看: 1967|回复: 2

求助语法错误

[复制链接]
发表于 2021-4-13 17:08:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#TempConvert.py
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F', 'f']:
    C = (eval(TemStr[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("输入格式错误")
运行不了啊,不知道是那出了问题
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-4-13 17:13:09 | 显示全部楼层
好了,原来少了个括号
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-5 14:01:04 | 显示全部楼层
eval 語句後面必須字符串形態,你的代碼:
  1. C = (eval(TemStr[0:-1] - 32)/1.8 # 這行好像有誤
  2. C = (eval(TemStr[0:-1]) - 32)/1.8 # 應該是這樣才正確
复制代码


我的代碼:
  1. while True:
  2.     temperature = input("請輸入帶有符號的溫度值:")
  3.     try:
  4.         if temperature[-1].lower() not in ['f', 'c']:
  5.             raise ValueError
  6.         if temperature[-1].lower() == 'f':
  7.             print("轉換後的溫度是{:.2f}C".format((eval(temperature[0:-1]) - 32)/1.8))
  8.             break
  9.         else:
  10.             print("轉換後的溫度是{:.2f}F".format(F = 1.8*eval(temperature[0:-1]) + 32))
  11.             break
  12.     except:
  13.         print("輸入格式錯誤")
  14.         continue
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-19 05:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表