1. 程式人生 > >python-while迴圈練習四種星星形狀

python-while迴圈練習四種星星形狀

完成下面四種形狀的星星

1.
*
**
***
****
*****
2.
    *
   **
  ***
 ****
*****

3. 
*****
****
***
**
*

4.
*****
 ****
  ***
   **
    *

題目分析:行數為一個最外層迴圈,裡面巢狀控制*和空格的兩個小迴圈。

1.
*
**
***
****
*****

row = 1
while row <= 5 :
    col = 1			# 每一行要列印的星星就是和當前行數是一致的
    while col <= row:
        print('*',end='')	# 不換行輸出
        col += 1
    print()			 # 手動換行
    row +=1

在這裡插入圖片描述

2.
    *
   **
  ***
 ****
*****

row = 1
while row <= 5:				#行數,迴圈五次
    a = 1				
    cel = 1
    while a <= 5 - row :		#a控制每行的空格數=5-行數,例如:第一行為5-1=4個空格
        print(' ',end='')		#不換行
        a += 1			
    while  cel <= row :			#cel控制*的數量=行數
        print('*',end='')
        cel += 1
    print()
    row += 1

在這裡插入圖片描述

3. 
*****
****
***
**
*

row = 1
while row <= 5:			#行數,迴圈五次
    a = 1
    cel = 1
    while a<=6-row:		#a控制*=6-行數
        print('*',end='')
        a +=1
    while cel >row and cel < 5:		#cel空格=行數-1 並且最大為4個空格
        print(' ',end='')
        cel += 1
    print()
    row += 1

在這裡插入圖片描述

4.
*****
 ****
  ***
   **
    *
row = 1
while row <= 5:					#行數,迴圈五次
    a = 1
    cel = 1
    while (cel < row) and (cel < 5):	#cel空格數=行數-1,最大為4
        print(' ',end='')
        cel += 1
    while a <= 6-row:				#a控制*,a=6-行數,例如:第一行*的數量5=6-1 
        print('*',end='')
        a += 1
    print()
    row += 1

在這裡插入圖片描述