def doorcheck(n):
doors = []
for i in range(n):
doors.append(False)
for i in range(n):
for x in range(n):
if (x+1) % (i+1) == 0:
if(doors[x] is False):
doors[x] = 1
else:
doors[x] = 0
for i in range(n-1):
print(doors[i], end = ' ')
print(doors[n-1], end = '\n')
t = int(input())
for i in range(t):
n = int(input())
doorcheck(n)
在这里,我试图在单独的一行中打印每个所需的输出。 如问题中所问
Example:
Input:
2
3
5
Output:
1 0 0
1 0 0 1 0
我用过
for i in range(n-1):
print(doors[i], end = ' ')
print(doors[n-1], end = '\n')
上述代码用于此目的。有更好的方法吗
编辑1:我上面写的代码有一个bug。但无论如何,@Barmar为我的问题提供了一个极好的解决方案,那就是以简洁的方式格式化输出。他还建议初始化一个数组,该数组在整个长度上包含相同的元素。谢谢
如果只想打印由空格分隔的
doors
元素,请使用join()
您还可以将初始化
doors
的循环替换为:相关问题 更多 >
编程相关推荐