我正在尝试Python中的模式 if n == 6
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4
Run Code Online (Sandbox Code Playgroud)
经过一番思考后,我这样做了 --->
n = 6
for i in range(1,n):
x = 1
countj = 0
for j in range(i,n):
countj +=1
print(j,end=" ")
if j == n-1 and countj < n-1 :
while countj < n-1:
print(x , end =" ")
countj +=1
x +=1
print()
Run Code Online (Sandbox Code Playgroud)
但我不认为这是最好的方法,我试图寻找一些更好的方法,但无法找到合适的方法,所以我来到这里,是否有更好的方法来解决这个问题?
假设高度为4,宽度为8
结果将:
0 1 2 3 4 5 6 7
8 9 0 1 2 3 4 5
6 7 8 9 0 1 2 3
4 5 6 7 8 9 0 1
Run Code Online (Sandbox Code Playgroud)
我是初学者,我正在尝试
for i in range(height):
for j in range(width):
print(j, sep=' ', end=' ', flush=True)
print()
Run Code Online (Sandbox Code Playgroud)
但是它需要打印1到9并且在宽度之后打印新行,应该是什么方法?
我的意思是假设我有一个列表,[1,2,3,4,5,6,7,8,9]
我想在特定范围内反转其编号,例如从 2 到 5,因此预期输出是[1,2,6,5,4,3,7,8,9]
注意:我不想使用循环并且通过交换每个值,不想使用额外的空间。是否可以?像 reverse() 函数