[英]How do I add spaces in my program accordingly?
我的意思是,我想制作一個根據用戶輸入打印星星的程序,我做了:
for i in range(num):
print((i*-1)*' ' + (i+1)*'*')
for o in range(num-1):
print((num-o-1)*'*')
除了這個:
*
* *
*
我明白了:
*
**
*
我該如何實現這些空間? 預先感謝!
如果將字符串乘以負數,則只需獲取空字符串。 而且你的公式開頭不正確。 您需要在前面填充足夠的空間以使其對齊(在等寬終端中)。
這是正確完成它的一種方法
>>> def diamond(n):
... print(' '*n + '*')
... for i in list(range(1,n)) + list(range(n,0,-1)):
... print('{}*{}*'.format(' '*(n-i), ' '*(2*i-1)))
... print(' '*n + '*')
將范圍轉換為列表對於大n來說效率不高,但它不是瓶頸,終端實際上只支持最多80個字符的寬度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.