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
"""
一個不會編程的安全工程師,不是一個好的黑客
= =