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

程序的三大流程:

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

1. 順序

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

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

最常見的就是if --else
在這裏插入圖片描述
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
注意:
	在導入工具包的時候,應該將導入的語句,放在文件的頂部,因爲,這樣
	可以方便下方的代碼,在任何需要的時候,使用工具包中的工具。	

在這裏插入圖片描述
注意

這些隨機函數不能直接調用,例如: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

3.1.2 字符串中的轉義字符

在這裏插入圖片描述

\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循環中使用了break語句時,表示用於跳出當前循環體

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

結果爲:
循環數據 Baidu
循環數據 Google
菜鳥教程!
完成循環!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章