簡體   English   中英

如何使用用戶輸入的行數打印圖案

[英]How to print pattern with number of rows input by user

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

如何利用上面的列表和循環來打印具有所需行數的模式? 如果輸入分別為 5 和 10,這里有 2 個示例。 不需要在每一行上打印括號。 謝謝。


行數:5

(*)

(####)

($$$$$$$)

(*)

(####)


行數:10

(*)

(####)

($$$$$$$)

(*)

(####)

($$$$$$$)

(*)

(####)

($$$$$$$)

(*)

您可以使用模運算符 (%) 遍歷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]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM