2016-10-04 45 views
-1

它應該是這樣的數字三角形,但逆轉,第一列縮進我需要別人幫助生成使用用戶輸入通過使用戶輸入行

OOOOOOO 
OOOOOO 
    OOOOO 
    OOOO 
    OOO 
    OO 
     O 

每次我試圖做到這一點我總是得到這個代碼迭代,我不知道我錯在哪裏。

這是我走到這一步,

row = int(input('Please enter how many rows you want: ')) 

for r in range(row,0,-1): 
    for c in range(r): 
     print('o', end='') 
    print('') 
+0

請出示一些代碼! –

+1

「應該看起來像這樣....」不能很難向我們展示你的意思嗎? –

回答

1

你可以這樣做:

line = int(input('Please enter how many lines you want: ')) 
vec = [i for i in range(1,line+1)] 
for elem in vec: print("\t"+"O"*elem) 

輸出例如:

enter image description here

+0

我爲什麼不投票? –

+0

加入這裏每個答案的快速增長俱樂部。恥辱我們不是電話,那麼也許我們確切知道OP想要什麼 –

0
line = int(input('number of lines')) 
for i in range(1, line + 1): 
    a = 'O' * ((line + 1) - i) 
    b = " "*(i) 
    print(b + a) 

我不不需要「縮進的第一列」是什麼意思,但是這張貼要求我相信。

line = 5 此打印

OOOOO 
    OOOO 
    OOO 
    OO 
    O 

,除非你是逆轉爲是這樣嗎?

 O 
    OO 
    OOO 
    OOOO 
OOOOO 

在這種情況下,代碼是:

line = int(input('number of lines')) 
for i in range(line , 0, -1): 
    a = 'O' * ((line + 1) - i) 
    b = " "*(i) 
    print(b + a) 

或者,也許你的意思是相反的這樣嗎?

O 
OO 
OOO 
OOOO 
OOOOO 

在這種情況下,這個代碼是你的朋友:

line = int(input('number of lines')) 
for i in range(line , 0, -1): 
    a = 'O' * ((line + 1) - i) 
    print(a) 

正如你所看到的特定問題。

+1

我不知道爲什麼有人低估你,所以我upvote你! –

0

那麼這裏去我的版本的解決方案

line = int(raw_input('Please enter how many lines you want: ')) 
k='' 
for r in range(line): 
    k=k+'0' 
for r in range(line): 
    print k 
    k=k[0:len(k)-1] 
    k=' '+k 

的終端輸出看起來像這樣

Please enter how many lines you want: 7 
0000000 
000000 
    00000 
    0000 
    000 
    00 
     0 
+0

'eter' - >'enter' :-) –

+1

非常感謝您指出。 – George