Python print()函数问题:如何用*重复输出计算结果在同一行
一行语句重复输出计算结果的实现方案
你可以用以下几种一行写法实现需求:
方法1:字符串拼接重复
print((str(5*4) + " ")*5)
该写法会输出 20 20 20 20 20 (末尾带有一个多余空格),如果想要无冗余的格式,可使用下面的方法。
方法2:结合join与列表重复
print(" ".join([str(5*4)]*5))
这个写法会输出标准的 20 20 20 20 20,逻辑是先把计算结果转为字符串,将其放入列表后重复5次,再用空格把列表元素拼接成完整字符串后打印。
你之前的写法失效原因
print(5*4*5):这是纯算术运算,Python会先计算5*4=20,再执行20*5=100,最终输出100。print(5*4)*5:print()函数的返回值是None,相当于拿None执行乘法操作,会触发类型错误。print[(5*4)*5]:语法错误,print是函数,不能用列表索引的方式调用。
核心逻辑是:数值的*是算术乘法,只有字符串、列表这类可迭代对象的*才是重复操作,因此需要先把计算结果转换成可重复的类型,再用*实现重复输出。
内容的提问来源于stack exchange,提问作者BTO
相关产品推荐
相关产品推荐

