Python:For循环模式

时间:2018-09-17 10:36:29

标签: python loops for-loop

print("Enter the width")
a=int(input())
count=0
for i in range(1,a+1):
    print("*"*i)
    if i==a:
       count=1
    if count==1:
       i-=2

我想要这样的图案

*
**
***
****
*****
****
***
**
* 

当用户输入5作为宽度时。但是我得到的输出只是

*
**
***
****
*****

我在做什么错了?

2 个答案:

答案 0 :(得分:3)

因此,如果您想要10个带*的条目,则需要更大的范围,这就是为什么我放2*a+1的原因。然后,您需要更改count的值,而不是i

print("Enter the width")
a=int(input())
count=1
for i in range(1,2*a+1):
    print(count*"*")
    if i<a:
       count+=1
    elif i>=a:
       count-=1

答案 1 :(得分:1)

另一种放置方式可能是:

print('Enter the max width:')
max_count = int(input())

for count in range(1, 2 * max_count):
    prepared_count = count if count <= max_count else 2 * max_count - count
    print ''.ljust(prepared_count, '*')