Python生成5x5随机矩阵:如何实现数值保留两位小数?
如何修改Python代码让5x5随机矩阵输出保留两位小数?
直接可用的修改方案
推荐使用Python的字符串格式化功能来控制小数位数,以下是最简洁的实现:
import random row = 5 for i in range(row): for j in range(row): # 用f-string格式化输出为两位小数 print(f"{150 * random.random():.2f}", end=' ') print()
其他可选实现方式
如果习惯不同的写法,也可以用以下两种方法:
- str.format() 方法
print("{:.2f}".format(150 * random.random()), end=' ')
- round() 函数配合输出
print(round(150 * random.random(), 2), end=' ')
注意:round() 会对数值做四舍五入,但输出时如果是整数部分,会显示为 x.0 而非 x.00,如果需要严格的两位小数格式,优先选格式化方法。
为什么切片[2:]不生效?
你尝试的切片操作无效,是因为原代码中直接打印的是浮点数类型,切片仅适用于字符串、列表这类序列对象。如果硬要用切片,需要先把浮点数转为字符串再处理,但这种方式会因小数位长度不一导致格式混乱,可靠性远不如格式化方法。
内容的提问来源于stack exchange,提问作者RockyWtc
相关产品推荐
相关产品推荐

