2014-10-29 59 views
-1

我需要使用了O的我需要使用反轉印刷三角形的輸出格式O公司

我的代碼反轉印刷三角形的輸出格式

userRows=int(input("Enter a positive number less than or equal to 20!")); 

while((userRows>21) or (userRows<0)): 
     userRows=int(input("Try again! Please enter a positive number less than or equal to 20.")); 

rows=1; 
while(rows<=userRows): 
    columns=1; 
    while(columns<=rows): 
     print("O",end=''); 
     columns=columns+1; 
    print('');  
    rows=rows + 1; 

輸出是

Enter a positive number less than or equal to 20!20 
O 
OO 
OOO 
OOOO 
OOOOO 
OOOOOO 
OOOOOOO 
OOOOOOOO 
OOOOOOOOO 
OOOOOOOOOO 
OOOOOOOOOOO 
OOOOOOOOOOOO 
OOOOOOOOOOOOO 
OOOOOOOOOOOOOO 
OOOOOOOOOOOOOOO 
OOOOOOOOOOOOOOOO 
OOOOOOOOOOOOOOOOO 
OOOOOOOOOOOOOOOOOO 
OOOOOOOOOOOOOOOOOOO 
OOOOOOOOOOOOOOOOOOOO 

我試圖讓它從右到左對齊,而不是從左到右(如上所示)。

+0

所以把一些額外的代碼,不會有O公司就行打印儘可能多的空間空白。 – 2014-10-29 16:32:17

+0

[用空格填充python字符串的可能的重複?](http://stackoverflow.com/questions/5676646/fill-out-a-python-string-with-spaces) – 2014-10-29 16:38:21

回答

0
>>> userRows=int(input("Enter a positive number less than or equal to 20!")); 
Enter a positive number less than or equal to 20!20 
>>> for i in range(userRows): 
... print ' '*(userRows-i)+'0'*i 
... 

        0 
        00 
       000 
       0000 
       00000 
       000000 
      0000000 
      00000000 
      000000000 
      0000000000 
     00000000000 
     000000000000 
     0000000000000 
     00000000000000 
    000000000000000 
    0000000000000000 
    00000000000000000 
    000000000000000000 
0000000000000000000 
0

打印N(用戶輸入 - 迭代次數)打印之前,「O」

def displayTriganle(userInput): 
     [print(' '*(userInput-i)+ 'o'*i) for i in range(1,userInput+1)] 


        o 
        oo 
       ooo 
       oooo 
       ooooo 
       oooooo 
      ooooooo 
      oooooooo 
      ooooooooo 
      oooooooooo 
     ooooooooooo 
     oooooooooooo 
     ooooooooooooo 
     oooooooooooooo 
    ooooooooooooooo 
    oooooooooooooooo 
    ooooooooooooooooo 
    oooooooooooooooooo 
ooooooooooooooooooo 
oooooooooooooooooooo