[英]How to print pattern with number of rows input by user
a = ['*','#','$'] b = [1,4,7]
如何利用上面的列表和循环来打印具有所需行数的模式? 如果输入分别为 5 和 10,这里有 2 个示例。 不需要在每一行上打印括号。 谢谢。
行数:5
(*)
(####)
($$$$$$$)
(*)
(####)
行数:10
(*)
(####)
($$$$$$$)
(*)
(####)
($$$$$$$)
(*)
(####)
($$$$$$$)
(*)
您可以使用模运算符 (%) 遍历a
和b
并从列表的开头重复。
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]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.