【发布时间】:2022-11-17 06:18:46
【问题描述】:
我有一个 for 循环,它遍历列表中的三个元素:["123"、"456"、"789"]。 因此,在第一次迭代中,它将对第一个元素中的每个数字执行计算,然后将这些数字加回去。这对其他两个元素重复。然后将输出转换为字符串并输出。
for x in digits:
if len(x) == 3:
result1 = int(x[0]) * 8 ** (3 - 1)
result2 = int(x[1]) * 8 ** (2 - 1)
result3 = int(x[2]) * 8 ** (1 - 1)
result = result1 + result2 + result3
return result
问题是,当输出计算结果时,它在不同的行上输出它们,但我需要它们在同一行上。
例如:
- 123
- 456
- 789
我需要他们是这样的:
- 123 456 789
我已经尝试将计算结果放入一个列表中,然后将其转换为字符串并输出,但没有骰子 - 它仍然在不同的行而不是一行上返回值。
编辑:
我知道如何使用打印功能来做到这一点:
print(str(result), end=" ")
但是需要使用返回函数。有什么办法吗?
【问题讨论】:
-
如果您查看
print函数的文档,您会发现它有一个end参数。 -
将输出加入一个字符串并打印该字符串
-
您必须向我们展示代码(或简单版本)以查看问题所在。一个常见的解决方案是“加入”。假设您有一个整数列表
foo = [1, 2, 3]。您可以将它们转换为字符串,并用" ".join(str(v) for v in foo)将它们分隔开。