Python三大流程簡析以及基礎算法練習

1,python三大流程分析

2,流程算法基礎練習代碼

 

Python三大流程(程序控制流程)

    1.if 結構(順序結構):

                從左而右,從上到下的順序

                 

if 語句:

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

GIF演示:

其中elif可以無限堆疊(python無switch結構,用elif代替),else可以存在也可以不存在,但是只能有一個

 

 

2.循環結構(while):

Python 中 while 語句的一般形式:

               

while 判斷條件(condition):
    執行語句(statements)……

             

GIF演示:

 

while 循環使用 else 語句:在 while … else 在條件語句爲 false 時執行 else 的語句塊。

while <expr>:
    <statement(s)>
else:
    <additional_statement(s)>

 

 

2.循環結構(for):

Python for循環可以遍歷任何序列的項目,如一個列表或者一個字符串:

          

for循環的一般格式如下:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

 

range()函數

如果你需要遍歷數字序列,可以使用內置range()函數。它會生成數列:

range全局函數:(python3沒有xrange)

                至少一個參數

                0開始:多少個

                兩個參數:開始結束位置

                三個參數:range(5,100,2)每一次增加2個

 

break和continue關鍵字的使用(重點):

continue:在python程序中,一旦遇到continue關鍵字,意味着本次循環終止

break:中斷;當我們的循環體中,遇到break關鍵字,那麼不管條件是否滿足,循環直接終止

 

 

 

Python三大流程算法訓練題:

 

輸出等腰三角形:

i = int(input("請輸入實心三角形行數:")) 
for j in range(1,i+1):
	print(" "*(i-j),"*"*(2*j-1),"\n",end = "",sep = "")

 

空心等腰三角形:

i = int(input("請輸入實心三角形行數:")) 

for j in range(1,i):
	space = i - j
	print(" "*space,"*",end = "",sep = "")   #每行開頭的空格和*
	print(" "*(2*j-3),end = "")		#中空的空格
	if j == 1:  #每一行結尾的*
		print()
	else:
		print("*")

print("*"*(2*i-1))
"""

   *
  * *
 *   *
*******
1  0  2x1-3
2  1  2x2-3
3  3  2x3-3
4  5  2x4-3


"""

 

菱形:

i = int(input("請輸入實心三角形行數:")) 


for j in range(1,i+1):
	space = i - j
	print(" "*space,end = "")
	print("*"*(2*j-1))

for j in range(i,0,-1):
	space = i - j
	print(" "*space,end = "")
	print("*"*(2*j-1))

 

空心菱形:

i = int(input("請輸入實心三角形行數:")) 

for j in range(1,i):
	print(" "*(i-j),"*",end = "",sep = "")   #每行開頭的空格和*
	print(" "*(2*j-3),end = "")		#中空的空格
	if j == 1:  #每一行結尾的*
		print()
	else:
		print("*")
i -= 1
for k in range(1,i):
	print(" "*(k+1),"*",end = "",sep = "")
	print(" "*(i-2*k),end = "")
	if (i-k) >= 2:
		print("*")
	else:
		print()

"""

   *
  * *
 *   *
*     *
 *   *
  * *
   *
1  0  2x1-3
2  1  2x2-3
3  3  2x3-3
4  5  2x4-3


"""

 

 

 

 

一個不會編程的安全工程師,不是一個好的黑客

 

= =
                

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章