在给定整数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
)。我该怎么做?
答案 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的评论的加入操作