851850865 发表于 2022-10-23 19:47:09

python对华氏度,开氏度,摄氏度的转换

Tempstr=input("请输入带有符号的温度值:\n")
if Tempstr[-1]in['F','f']:
    C=(eval(Tempstr)-32)/1.8
    K= (eval(Tempstr)-32)/1.8+271.15
    print("摄氏%0.2f度"\n %(C)
    "华氏:%0.2f度"\n %(F)
    "开氏%0.2f度"\n % (K)
elif Tempstr[-1]in['C','c']:
    C=eval(Tempstr)
F=1.8*eval(Tempstr)+32
K= eval(Tempstr)+271.15
print("摄氏%0.2f度"\n %(C)
    "华氏:%0.2f度"\n %(F)
    "开氏%0.2f度"\n % (K)
    elif Tempstr[-1] in ['K', 'k']
K=eval(Tempstr)
   C= eval(Tempstr)-237.15
F=1.8* (( eval(Tempstr)-237.15)+32
print("摄氏%0.2f度"\n %(C)
    "华氏:%0.2f度"\n %(F)
    "开氏%0.2f度"\n % (K)
else:
    print("输入格式错误")
能看看那点错了吗?

jackz007 发表于 2022-10-23 20:04:23

本帖最后由 jackz007 于 2022-10-23 20:20 编辑

Tempstr=input("请输入带有符号的温度值:\n")
if Tempstr[-1]in['F','f']:
    C = (eval(Tempstr)-32)/1.8
    K = (eval(Tempstr)-32)/1.8+271.15
    print("摄氏%0.2f度\n" % (C) ,               # 【错误】
    "华氏:%0.2f度\n" % (F) ,                      # 【错误】
    "开氏%0.2f度\n"% (K))                     # 【错误】
elif Tempstr[-1]in['C','c']:
    C=eval(Tempstr)
    F=1.8*eval(Tempstr)+32                  # 【错误】
    K= eval(Tempstr)+271.15               # 【错误】
    print("摄氏%0.2f度\n" %(C) ,                  # 【错误】
    "华氏:%0.2f度\n" % (F)   ,                  # 【错误】
    "开氏%0.2f度\n" % (K))                        # 【错误】
elif Tempstr[-1] in ['K', 'k']:                   # 【错误】
    K = eval(Tempstr)                     # 【错误】
    C= eval(Tempstr)-271.15               # 【错误】
    F=1.8 * (eval(Tempstr) - 271.15) + 32   # 【错误】
    print("摄氏%0.2f度\n" % (C) ,               # 【错误】
    "华氏:%0.2f度\n" % (F) ,                      # 【错误】
    "开氏%0.2f度\n" % (K))                        # 【错误】
else:
    print("输入格式错误")
      楼主的代码错误实在是太多了
      这个是我写的代码,请楼主参考
Tempstr = input("请输入带有符号的温度值:\n")
v , b = float(Tempstr[:-1]) , 0
if Tempstr[-1]in['F','f']:
    F = v
    C = (v - 32) / 1.8
    K = (v - 32) / 1.8 + 271.15
    b = 1
elif Tempstr[-1]in['C','c']:
    C = v
    K = v + 271.15
    F = 1.8 * v + 32
    b = 2
elif Tempstr[-1]in['K','k']:
    K = v
    C = v - 271.15   
    F = (v - 271.15) * 1.8 + 32
    b = 3
else:
    print("输入格式错误")
if b:
    print('摄氏%.2f度,华氏%.2f度,开氏%.2f度' % (C , F , K))
页: [1]
查看完整版本: python对华氏度,开氏度,摄氏度的转换