如何相邻打印一组字符

时间:2018-11-16 20:52:37

标签: python python-3.x

在给定整数n的情况下,我有这段代码,我想打印出间隔n的[1→n]区间中的所有整数。我写了这段代码:

n = int(input('Enter number:'))

for i in range(1, n+1):
    if (n%i==0):
        print (i)

我得到这个答案:

Enter number:8 

1

2

4

8

但是我希望我的答案彼此相邻,并用空格分隔(所以:1 2 4 8)。我该怎么做?

3 个答案:

答案 0 :(得分:3)

代替:

print(i)

您应该输入:

print(i, end=" ")

这会将行字符串的结尾从“ \ n”更改为“”。这将为您提供所需的输出。


另一种方法是构建结果列表并在最后打印出来:

n = int(input('Enter number:'))
final_results = list()

for i in range(1, n+1):
    if (n%i==0):
        final_results.append(str(i))

print(" ".join(final_results))

答案 1 :(得分:0)

print(i), 

(带逗号)应该做的工作。

答案 2 :(得分:0)

我建议累加所有中间结果,并且仅在完成计算后才打印。

n = int(input('Enter number:'))
dividers = []
for i in range(1, n+1):
    if (n%i==0):
        dividers.append(i)
print(dividers)

如果要用逗号分隔打印它们,可以执行以下操作:

print(', '.join(str(divider) for divider in dividers))

好处

首先,这将减少打印到任何地方的呼叫数量(默认为stdout

第二,代码变得更易读,以后更容易调整和扩展(例如,如果您以后决定要将这些分隔符传递给另一个函数)

编辑:调整了根据ritlew的评论的加入操作