You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3中格式化输出浮点数列的实现问题求助

解决你的浮点数列格式化输出问题

我来帮你搞定这个格式化输出的麻烦!先看看你代码里的几个小问题,然后给你修正后的完整代码:

你的代码里的问题点

  • 你用列表推导式[float(k) for k in D]把输入的字符串转成了浮点数,但没把结果赋值回D,所以D还是原来的字符串列表,后面循环里每次float(i)虽然能运行,但有点多余;
  • 最后输出计算结果时,没有处理成保留两位小数的格式,这就是你遇到的核心问题。

修正后的完整代码

import math

C = 50.0
H = 30.0
# 接收输入并直接转成浮点列表,同时处理输入中可能的空格
D = [float(k.strip()) for k in input("Please input the D-Values\n").split(",")]
print("D = {}".format(D))

Q = []
for i in D:
    j = math.sqrt((2 * C * i) / H)
    Q.append(j)

print("The answers are")
# 逐个输出保留两位小数的结果
for num in Q:
    print("{0:.2f}".format(num))
# 如果需要输出成逗号分隔的一行字符串,用下面这行替换上面的循环:
# print(", ".join("{0:.2f}".format(num) for num in Q))

关键修改说明

  1. 输入处理优化:把输入拆分后直接用列表推导式转成浮点数并存回D,还加了strip()处理用户输入中可能带的空格(比如10, 20, 30这种带空格的情况);
  2. 格式化输出:用"{0:.2f}".format(num)来把每个计算结果格式化为保留两位小数的浮点数,两种输出方式可以根据你的需求选择。

内容的提问来源于stack exchange,提问作者new2Ubuntu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:32:45