我需要帮助制作一个三角形,通过让用户输入行数来生成使用用户输入

时间:2016-10-04 17:13:57

标签: python for-loop nested-loops

它应该看起来像这样但是反转并且第一列缩进

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('')

3 个答案:

答案 0 :(得分: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

答案 1 :(得分: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)

正如您所看到的具体问题有帮助。

答案 2 :(得分:0)

这就是我的解决方案版本

$scope

终端输出如下所示

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