代码输出不符合预期求助:无法将输入值格式化为指定温度格式
问题分析与解决方案
问题根源
你的代码存在两个关键问题:
print语句里重复调用了float(input()),导致程序会读取两次输入——第一次输入的36.4158102被存到air_temperature变量后就没被使用,第二次输入的24.6才是被格式化输出的值。- 你尝试的
print('{float.(input()):.1f}C'.format(float(input())))是语法错误,不能在格式化占位符里直接写函数调用。
修正后的代码
因为你不能修改air_temperature = float(input())这一行,所以只需要修改print语句,直接使用已经定义好的air_temperature变量即可:
air_temperature = float(input()) print('{:.1f}C'.format(air_temperature)) # 或者用更简洁的f-string写法(Python 3.6+支持): # print(f'{air_temperature:.1f}C')
说明
- 修正后的代码会使用第一行读取并存储的
air_temperature值,将其格式化为保留一位小数的字符串后输出,输入36.4158102时会得到预期的36.4C。 - 如果使用f-string写法,代码会更直观,直接在字符串里引用变量并指定格式化规则。
内容的提问来源于stack exchange,提问作者Kungfaster
相关产品推荐
相关产品推荐

