如何使用用户输入的行数打印图案

2024-04-24 12:06:45 发布

您现在位置:Python中文网/ 问答频道 /正文

a=['*'、'#'、'$'] b=[1,4,7]

如何利用上述列表和循环打印所需行数的图案? 如果输入分别为5和10,这里有两个示例。不需要在每行打印括号。谢谢


行数:5

(*)

(#####)

($$$$$$)

(*)

(#####)


行数:10

(*)

(#####)

($$$$$$)

(*)

(#####)

($$$$$$)

(*)

(#####)

($$$$$$)

(*)


Tags: 利用示例列表括号图案
2条回答

您可以使用模数运算符(%)在ab之间迭代,并从列表的开始处重复

a = ['*', '#', '$']
b = [1, 4, 7]
rows = int(input('>>> '))
print('\n\n'.join(f'({a[i % len(a)] * b[i % len(b)]})' for i in range(rows)))

您可以将A*B相乘,然后在每次循环迭代中将A和B移位1

易于实现用户输入

a = ['*','#','$']
b=[1,4,7]
b.reverse()
b = b[-1:] + b[:-1]

print(b)

for x in range(5):
  print(a[0]*b[0])
  a = a[-1:] + a[:-1]
  b = b[-1:] + b[:-1]

相关问题 更多 >