gpt4 book ai didi

python - 使用 python 打印图案的替代解决方案

转载 作者:行者123 更新时间:2023-12-01 09:30:56 25 4
gpt4 key购买 nike

我想使用 python 打印图案,我已经做到了,但我想了解其他可能的解决方案:-

A B C D E F G F E D C B A
A B C D E F F E D C B A
A B C D E E D C B A
......
....
A A

这是我的代码:-

n=0
for i in range(71,64,-1):
for j in range(65,i+1):
a=chr(j)
print(a, end=" ")
if n>0:
for l in range(1,3+(n-1)*4):
print(end=" ")
if i<71:
j=j+1
for k in range(j-1,64,-1):
b=chr(k)
print(b, end=" ")
n=n+1
print()

最佳答案

这是使用第三方库numpy的替代方法。我专门使用这个库,因为它允许矢量化分配,我用它来代替内部循环。

from string import ascii_uppercase
import numpy as np

n = 7

# extract first n letters from alphabet
letters = ascii_uppercase[:n]
res = np.array([list(letters + letters[-2::-1])] * (n-1))

# generate indices that are removed per line
idx = (range(n-i-1, n+i) for i in range(n-1))

# printing logic
print(' '.join(res[0]))
for i, j in enumerate(idx):
# vectorised assignment
res[i, j] = ' '
print(' '.join(res[i]))

结果:

A B C D E F G F E D C B A
A B C D E F F E D C B A
A B C D E E D C B A
A B C D D C B A
A B C C B A
A B B A
A A

关于python - 使用 python 打印图案的替代解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49966479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com