天天看點

Python學習筆記(二)——控制語句

程式的三大流程:

  • 順序–從上向下,順序執行代碼
  • 分支–根據條件判斷,決定執行代碼的分支
  • 循環–讓特定代碼重複執行

1. 順序

從上到下依次執行,這個其實沒什麼難點。

2.分支語句 (條件語句)

最常見的就是if --else

Python學習筆記(二)——控制語句

if - elif -else 語句以及縮進部分是一個完整的代碼塊

if 要判斷的條件:
	條件成立時,要做的事
else:
	條件不成立時,要做的事情
	
#根據成績來分類
scale = input("請輸入一個成績")
scale = float(scale)
if scale>=0:
	if scale>=90:
   	 	print("成績為優秀")
	elif scale>=80:
   	 	print("成績為良好")
	elif scale>=60:
    	print("中等")
	else:
    	print("不及格")
           

在此給大家補充一下邏輯運算符

與 and
或 or
非 not
           

牛刀小試

#案例一:
#定義一個整數變量,判斷年齡是否正确
#要求人的年齡在0-120之間
age = int(input("請輸入年齡"))

if age>0 and age<120:
    print(age)
else:
    print("年齡不正确")

#案例二:
#定義兩個整型變量
Python_score=89
c_score = 90
#要求隻要有一門成績>60分就算合格
if Python_score>60 or c_score>60:
    print("合格")
else:
    print("成績不合格")

#案例三:
is_employee = True
if not is_employee:
    print("不是本公司的員工,不可以進入")

通常希望某個條件不滿足時,執行一些代碼,可以使用not,
如果需要拼接複雜的邏輯計算條件,同樣也有可能使用到not.
           

2.1 Python中的随機數

#先導入子產品再調用
import random  
random.randint(a,b)   # 傳回[a,b]之間的數,包含a和b
注意:
	在導入工具包的時候,應該将導入的語句,放在檔案的頂部,因為,這樣
	可以友善下方的代碼,在任何需要的時候,使用工具包中的工具。	
           
Python學習筆記(二)——控制語句

注意:

這些随機函數不能直接調用,例如:random()是不能直接通路的,需要導入 random 子產品,然後通過 random 靜态對象調用該方法。
	import random
	random.random()
	uniform() 方法将随機生成下一個實數,它在 [x,y] 範圍内。法
	import random
	random.uniform(x, y)
	x -- 随機數的最小值。
	y -- 随機數的最大值。
           

牛刀小試

#案例一————火車票、安檢

# 定義一個布爾類型的變量has_ticket 表示是否有車票
has_ticket = True
# 定義整型變量knife_length 表示刀的長度,機關:厘米
knife_length = 21
'''首先檢查是否有車票,如果有,才允許進入安檢
安檢時,需要檢查刀的長度,判斷是否超過20厘米
如果超過20厘米,提示刀的長度,不允許上車
如果沒有超過20厘米,則可以通過安檢
如果沒有車票,不允許進入'''
if has_ticket:
	print("車票檢查通過,準備開始安檢")
	if knife_length>20:
    	print("刀的長度為%.2f,不能通過安檢"%knife_length)
	else:
   	 	print("安檢通過,可以上車")
else:
	print("請購買車票")
	

#案例二————石頭剪刀布

player = int(input("玩家請出拳:拳頭=1,布=2,剪刀=3"))
computer = random.randint(1,3)
print("玩家出的是%d-電腦出的是%d"%(player,computer))
#比較勝負
#1.石頭 勝 剪刀
#2.剪刀 勝 布
#3.布 勝 石頭
if ((player==1 and computer==3)
        or (player==3 and computer==2)
        or (player==2 and computer==1)):
    print("玩家勝利")
elif player==computer:
    print("平局")
else:
    print("電腦勝利")
           

3.循環語句

3.1 while循環

while 條件(判斷 計數器是否達到 目标次數):
		條件滿足時,做的事情1
		條件滿足時,做的事情2
		。。。
		處理條件(計數器+1)
例如:
		s=0
		while s<=5:
	    	print(s)
	    	s += 1
					
注意:while語句以及縮進部分是一個完整的代碼塊
在程式計數中,從0開始計數。是以要養成一個好的習慣。
           

3.1.1 嵌套循環

案例一:列印小星星

每一行要列印的星星就是和目前的行數是一緻的,增加一個小的循環,專門負責目前行中,每一列的星星顯示

row = 1
while row<=5:
	print("*" * row)
	row += 1

結果如下所示:
*
* *
* * *
* * * *
* * * * *

改進版——加入嵌套循環

row1 = 1
while row1 <= 5:
	col = 1 #表示列
	while col <= row1:
    	print("*",end="")
    	col +=1
	print()  # 這行代碼的目的,就是在一行星星輸出完成之後,添加換行。
	row1 += 1
           

關鍵字——end

關鍵字end可以用于将結果輸出到同一行,或者在輸出的末尾添加不同的字元,執行個體如下:
a, b = 0, 1
while b < 1000:
print(b, end=',')
a, b = b, a+b
結果如下:
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,
           

3.1.2 字元串中的轉義字元

Python學習筆記(二)——控制語句
\t在控制台輸出一個制表符,協助在輸出文本時,垂直方向保持對齊
\n在控制台輸出一個換行符

print("1\t2\t3")
print("10\t20\t30")
print("hello\npython")
1	2	3
10	20	30
hello
python
           

牛刀小試——列印九九乘法表

i = 1
while i <=9:
	 j = 1
	while j <= i:
    	result = i * j
   	 	print("%d * %d = %d" %(j,i,result),end=" ")
   		j += 1
 	print()
	i += 1
           

3.1.3 break 和 continue

break:當某一條件滿足時,退出循環,不再執行後續重複的代碼
continue:某一條件滿足時,不執行後續重複的代碼。
簡單的說,break 語句可以跳出 for 和 while 的循環體
continue語句被用來告訴Python跳過目前循環塊中的剩餘語句,然後繼續進行下一輪循環
           

3.2 for循環

for i in ...
有時for 也和 else連用,一會就可以見到。
           

注意:當for循環中使用了break語句時,表示用于跳出目前循環體

sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
if site == "Runoob":
    print("菜鳥教程!")
    break
print("循環資料 " + site)
else:
	print("沒有循環資料!")
print("完成循環!")

結果為:
循環資料 Baidu
循環資料 Google
菜鳥教程!
完成循環!
           

3.2.1 for 循環與 else 的使用

for 變量 in 集合:
	循環體代碼
else:
	沒有通過break退出循環,循環結束後,會執行的代碼。

示例:	

#定義一個清單存儲字典,循環内部使用了break,如果執行,則退出循環,else下方的代碼不會執行
Students = [
    {"name":"小明"},
    {"name":"小曾"}
]
name = "小曾"
for name_str in Students:
    print(name_str)
    if name_str["name"] == name:
        print("找到了%s" %name)
        break
else:
    print("循環結束,沒有找到")
           

對于清單,字典等資料類型,可以查詢 Python學習筆記(三)