使用for循环和while打印各种星号

使用while else
这里考了我们循环三要素:初始值、循环条件、和步长
i表示打印5行星号
如果i=1 和 i=5时则打印5个星号
否则输出4个空格

镂空

i=1
while i<=5:
    if i==1 or i ==5:
        print('*'*5)

    else:
        print('*   *')
    i+=1

使用for循环和while打印各种星号_第1张图片

根据输入的数字来打印*号

n=int(input('请输入一个数字:'))
i=1
while i <= n:
    if i==1 or i==n:
        print(n * '*')
        i+=1
        continue
    print('*',end='')
    j=1
    while j<= n-1:
        if j ==n-1:
            print('*')
            j+=1
            continue
        print(' ',end='')
        j+=1
    i+=1

使用for循环和while打印各种星号_第2张图片

打印三角形

这里使用了while循环的嵌套,让外层循环与内层循环联动起来,让每行打印的星号数与行号数相同
使用换行符end=" "使得内层的星号不换行,而外层的行数用print进行换行。

j=1
while j<=8:
    i=1
    while i<=j:
        print('*',end='')
        i+=1
    j+=1
    print()

使用for循环和while打印各种星号_第3张图片

打印倒立三角形星星

# 定义行的计数器
j=1
# 行的循环条件
while j<=8:
    # 定义列的计数器
    i=8
    # 列的循环条件
    while i>=j:
        print('*',end='')
        i-=1
    j+=1
    print()

使用for循环和while打印各种星号_第4张图片

向右上方

j=1
while j<=8: # 行数8行
    a = 1
    i =1
    while a<=j - 1:
        print(' ',end='')
        a+=1
    while i <=9-j:
        print('*',end='')
        i +=1
    print()
    j += 1

使用for循环和while打印各种星号_第5张图片

向右下方

j=1
while j<=8:
    a = 1
    i =1
    while a<=8-j:
        print(' ',end='')
        a+=1
    while i <=j:
        print('*',end='')
        i +=1
    print()
    j += 1

使用for循环和while打印各种星号_第6张图片

用for循环打印等腰三角形

j=8
for i in range(j):
    print(' ' * (j - i - 1) + '*' * (2 * i + 1))

使用for循环和while打印各种星号_第7张图片

j=8
for i in range(1,j+1):
    print(' ' * (j - i) + '*' * (2 * i -1))

使用for循环和while打印各种星号_第8张图片

你可能感兴趣的:(使用for循环和while打印各种星号)