看板 Python 關於我們 聯絡資訊
※ 引述《momo123163 (RT-boy)》之銘言: : 批改娘上有一題是希望輸出格式化的金字塔 : 但我怎麼弄格式都不OK QQ : 這是題目希望輸出的樣子: : 最右邊都沒有空白!! : * : * * : * * * : * * * * : 但我的程式碼如下: : a = eval(input()) : for i in range(a): : for j in range(a-i-1): : print("2",end="") : for k in range(i+1): : print("*",end=" ") : print("") : 這樣的話雖然都很像(輸出2是我在練習時方便數空白數是否正確) : 但我最右邊一定都會有空白 : 想請問該怎麼解決 : 再拜託各位大神幫幫忙了!! a=4 for i in range(a): FEM='>'+str(a+i) stars="*"+" *"*i print(format(stars, FEM)) '^'置中。 ">"靠右。 "<"靠左。 a+i:指定寬度。 不知道這是不是你要的? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.32.131 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1494212088.A.E50.html ※ 編輯: ides13 (220.133.32.131), 05/08/2017 11:09:34 ※ 編輯: ides13 (220.133.32.131), 05/08/2017 11:11:13
Conjuror: 好酷! 05/08 11:35
ides13: 不用format函式的話,可以用這個。 05/08 13:11
ides13: for i in range(a):print(" "*(a-1-i) + "*" + " *"*i) 05/08 13:12
uranusjr: 其實如果要用 format 的話可以這樣更酷 05/08 16:29
uranusjr: '{:>{}}'.format(' '.join(['*'] * (i + 1)), a + i) 05/08 16:36
uranusjr: 或者像這樣用置中也行 05/08 16:37
uranusjr: '{:^{}}'.format(' '.join(['*']*(i+1)), 2*a-1) 05/08 16:37
ides13: u大的作法的確比較酷。 05/08 20:15
s860134: format 的用法,可參照官方doc 05/08 21:44