python温度转换问题

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("输入格式错误")

求问:如何使用eval(input(<提示内容>))替换现有输入部分?

如果要使用eval(input(<提示内容>))替换现有输入部分这样做,
单位和数字分开,不然无法进行

Tempstr=eval(input("请输入温度值(无单位):"))
D=input("请输入单位:")
if D in ['F','f']:
    C=(Tempstr-32)/1.8
    print("转换后的温度是{:.0f}C".format(C))
elif D in ['c','C']:
    F=1.8*Tempstr+32
    print("转换后的温度是{:.0f}F".format(F))
else:
    print("输入格式错误")


替换不了。你现在输入的字符串里面其实是2重信息,既有温度,又有单位名称
你用eval强行转换,会丢信息
现在不是好好的吗,为什么非要替换

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632