python中的條件判斷語句if while

判斷(if)語句

生活中的判斷案例:
生活中的判斷幾乎是無所不在的,我們每天都在做各種各樣的選擇,如果這,如果
那樣….
判斷的定義:
如果條件滿足,才能做某件事
如果條件不滿足,就做另外一件事情,或者什麼也不做
正是有了判斷,才使得程序世界豐富多彩,充滿變化(程序不再從上到下的‘呆
板’執行了)
判斷語句又被稱爲‘分支語句’,正是因爲有了判斷,才讓程序有了很多的分支
if 判斷語句的基本語法
if 要判斷的條件:
條件成立時,要做的事情

注意:代碼的縮進爲一個 tab 鍵,或者四個空格(pycharm 自動幫我們增加)

在 python 開發中,Tab 和空格不要混用

判斷語句演練:
需求:
1.定義一個整數變量
2.判斷是否滿 18 歲(>=)

=:比較運算符
比較關係運算符:==,!=,>,<,<=,>=
3.如果滿 18 歲,允許進入網吧
else:
這裏寫圖片描述
思考:
在使用 if 判度時,只能做到滿足條件時要做的事情,那如果需要在不滿足條件的時
候,該做某些事情,我們該如何做呢
else,格式如下 #注意 else 必須配合 if 使用,而其 else 後不跟條件
if 要判斷的條件:
條件成立時,要做的事情
……
else:條件不成立時,要做的事情
……

if 和 else 語句以及各自的縮進部分是一個完整的代碼塊

示例:
需求
1.輸入用戶年齡
2.判斷是否滿 18 歲(>=)
3.如果滿 18 歲,允許進入網吧
4.如果未滿 18 歲,提示回家寫作業
age = 5

滿18可上網

if age >= 18:
print ‘您已成年,歡迎進入網吧’

不滿18歲回家寫作業

else:
print ‘回家寫作業’
這裏寫圖片描述
邏輯運算
在程序開發中,通常在判斷條件時,會需要同時判斷多個條件
只有多個條件都滿足,才能夠執行後續代碼,這個時候需要使用到邏輯運算符
邏輯運算符可以把多個條件按照邏輯進行連接,變成更復雜的條件
python 中的邏輯運算符包括:與 and/或 or/非 not 三種
and
條件 1 and 條件 2
與/並且
兩個條件同時滿足,返回 True
只需有一個不滿足,就返回 False
or
條件 1 or 條件 2
或/或者
兩個條件只要有一個滿足,返回 True
兩個條件都不滿足,返回 False
not
對一個條件取反:not 條件
邏輯運算演練
1.練習:定義一個整數變量 age,編寫代碼判斷年齡是否正確要求人的年齡在 0~120 之間
2.練習:定義兩個整數變量 python_score,c_score,編寫代碼判斷成績

年齡在0~80之間

age = 15
if 0 <= age <= 80:
print '年齡符合'
else:
print '年齡不符合'

兩門考試中只要有一門大於等於60分即爲通過

math = 59
English = 59
if math >= 60 or English >= 60:
    print '考試通過'
else:
    print '請繼續努力'

這裏寫圖片描述
3.練習:定義一個布爾型變量 is_employee,編寫代碼判斷是否是本公司員工
如果不是提示不允許入內
if 語句進階
elif
在開發中,使用 if 可以判斷條件
使用 else 可以處理條件不成立的情況
但是,如果希望再增加一些條件,條加不同,需要執行的代碼也不同,就可以使用
elif
語法格式如下:
if 條件 1:
條件 1 滿足執行的代碼
elif 條件 2:
條件 2 滿足時,執行的代碼
else:
以上條件都不滿足時,執行的代碼
注意:
elif 和 else 都必須和 if 聯合使用,而不能單獨使用
可以將 if,elif 和 else 以及各自縮進的代碼,看成一個完整的代碼塊
elif 演練—女盆友的節日
需求:
1.定義 holidy_name 字符串變量記錄節目名稱
2.如果是情人節應該 買玫瑰/看電影
3.如果是平安夜應該 買蘋果/吃大餐
4.如果是生日 應該 買蛋糕
5.其他的日子每天都是節日

# 定義holiday_name字符串變量記錄節日的名稱
holiday_name = '情人節'

if holiday_name == '情人節':
    print '買巧克力和玫瑰'
    print '看電影'
elif holiday_name == '聖誕節':
    print '買禮物'
    print '去狂歡'
elif holiday_name == '情人節':
    print '薩郎嘿喲'
    print 'MAC口紅限量版'
else:
    print '每一天都要美美噠,要開開心心'

這裏寫圖片描述
if 的嵌套:
生活中的例子:(火車站的二次安檢 首先得先有片進入火車站候車大廳)
elif 的應用場景是:同時判斷多個條件,多有的條件都是平級的在開發中,使用 if 進行條件判斷,如果希望在條件成立的執行語句中再增加條件判
斷,就可以使用 if 的嵌套
if 的嵌套的應用場景就是:在之前的條件滿足的前提下,再增加額外的判斷
if 的嵌套的語法格式,除了縮進之外和之前的沒有區別
語法格式:
if 條件 1:
條件 1 滿足執行的代碼
….
if 條件 1 基礎上的條件 2:
條件 2 滿足時,執行的代碼
….

條件 2 不滿足的處理

else:
條件 2 不滿足時,執行的代碼
….

條件 1 不滿足時候的處理

else:
條件 1 不滿足時,執行的代碼
….
if 嵌套的演練 火車站安檢
需求:
1.定義布爾型變量 has_ticket 表示是否有車票
2.定義整型變量 knife_length 表示刀的長度
3.首先檢查是否有車票,如果有,才允許進行安檢
4.安檢時,需要檢查刀的長度,判斷是否超過 20cm
如果超過 20cm,提示刀的長度,不允許上車
如果不超過 20cm,安檢通過
5.如果沒有車票,不允許進門

dsec:
買票帶刀(刀長不超過20允許乘車)不允許進入地鐵

"""
# 定義已經購票,且帶刀長度爲30
ticket = True
knife_length = 30
# 1 判斷是否購票
# 2 判斷帶刀長度
if ticket:
    print '乘客已購票'
    if knife_length > 20:
        print '長度超過 %d :超過限定長度,不允許進入' %knife_length
    else:
        print '長度爲%d:未超過限定長度,允許進入' %knife_length
else:
    print '請先購票'

這裏寫圖片描述
綜合應用–石頭剪刀布
目標:
1.強化多個條件的邏輯運算
2.體會 import 導入模塊(工具包)的使用
需求:1.從控制檯輸入要出的拳 —石頭(1)/剪刀(2)/布(3)
2.電腦隨即出拳–先假定電腦只會出石頭,完成整體代碼功能
3.比較勝負
石頭 勝 剪刀
剪刀 勝 布
布 勝 石頭

import random
# 1 你是玩家player,石頭爲1 ,剪刀爲2,布爲3
player = int(raw_input('請輸入您要出的拳: '))
# 2 假設電腦只能出布
#computer = 3
# 2 假設電腦出的隨機:
computer = random.randint(1,3)
print('玩家出的是%d  電腦出的是%d') %(player,computer)
# 3 判斷輸贏
if ((player == 1 and computer == 2) or
        (player == 2 and computer == 3)or
        (player == 3 and computer == 1)):
    print '恭喜你,你贏了!!!'
elif (player == computer):
    print '平局!!!'
else:
    print '很抱歉,你輸了!!!'

這裏寫圖片描述

while 判斷語句:

循環程序的三大流程
1>while 循環的基本使用
2>break 和 continue
3>while 循環嵌套
程序的三大流程
在程序開發中,一共有三種流程方式:
1>順序:從上向下,順序執行代碼
2>分支:根據條件判斷,決定執行代碼的分支
3>循環:讓特定代碼重複執行(解決程序員重複工作)
while 循環的基本使用
循環的作用就是讓指定的代碼重複的執行
while 循環最常用的應用場景就是讓執行的代碼按照指定的次數重複執行
while 語句的基本語法
初始條件設置 – 通常是重複執行的 計數器 (eg:i=1)
while 條件(判斷 計數器 是否達到目標 目標次數):
條件滿足時,做的事情 1
條件滿足時,做的事情 2
條件滿足時,做的事情 3
條件滿足時,做的事情 4
………
處理條件(計數器 +1)
while 語句及縮進部分是一個完整的代碼塊

dsec:
 將' 你是小可愛 '輸出執行10"""

# 1 定義初始變量,記錄循環次數
i = 0
# 開始循環
# 2 用whlie 實現
while i <= 10:
    # 在循環內執行
    print '你是小可愛'
    # 處理循環次數
    i += 1
print '循環結束,i = %d' %i

這裏寫圖片描述
賦值運算符
在 python 中,使用 = 可以給變量賦值
在算術運算時,爲了簡化代碼的編寫,python 還提供了一系列的與算術運算符對
應的賦值運算符
注意:賦值運算符中間不能使用空格
+=
eg: a+=b 等效於 a = a + b-=
*=
/=
//=
%=

**=

python 中的計數方法
常見的計數方法有兩種,可以分爲
自然計數法(從 1 開始) – 更符合人類的習慣
程序計數法(從 0 開始) – 幾乎所有的程序語言都選擇從 0 開始計數
因此,大家在編寫程序時,應該儘量養成習慣:除非需求的特殊要求,否則循環的
計數從 0 開始
循環計算
在程序開發中,通常會遇到利用循環重複計算的需求
遇到這種情況:
1.在 while 上方定義一個變量,用於存放最終的計算結果
2.在循環體內部,每次循環都用最新的計算結果,更新之前定義的變量
需求:
計算 0~100 之間所有數字的累計求和的結果

"""
dsec:
計算0~100之間數字求和

"""
i = 0
result = 0
while i<= 100:
    result += i
    i += 1
print '0~100之間求和結果爲%d' %result

這裏寫圖片描述
需求進階:
計算 0~100 之間所有偶數的累計求和

i=1
result = 0
# if i%2 == 0 ,求和結果爲偶數求和,否則爲奇數求和,此時i += 1
while i <= 100:
    result += i
    i += 2
print '奇數求和結果爲%d' %result
"""
計算0~100偶數求和
"""
i=0
result = 0
while i <= 100:
    result += i
    i += 2
print '偶數求和結果爲%d' %result

這裏寫圖片描述
break 和 continue
break 和 continue 是專門在循環中使用的關鍵字
break 某一條滿足時,退出循環,不再執行後續重複的代碼

不輸出3

"""
i = 0
while i <= 10:
    if i == 3:
        break
    print i
    i += 1
print 'over'

這裏寫圖片描述
continue 某一條滿足時,不執行後續重複的代碼,其他條件統統要執行

"""
i = 0
while i < 10:
    i += 1
    if i == 3:
        continue
    print i

這裏寫圖片描述

break 和 continue 只針對當前所在循環有效
循環嵌套
while 循環嵌套就是:while 裏面還有 while
循環嵌套演練1.在控制檯連續輸出五行*,每一行星號的數量依次遞增
2.完成 5 行內容的簡單輸出
分析每行內部的*應該如何處理
這裏寫圖片描述
3.九九乘法表
字符串的轉義字符
\t:在控制檯輸出一個製表符,協助在輸出文本時垂直方向保持對其
\n:在控制檯輸出一個換行符

製表符的功能是在不使用表格的情況下在垂直方向按列對齊文本

\t:在控制檯輸出一個製表符,協助在輸出文本時垂直方向保持對其

不加\t 無法對齊

dsec:
/t:製表符
/n:換行符
"""
row = 1
result = 0
while row <= 9:
    col = 1
    while col <= row:
        col += 1
        print "%d * %d = %d\t" %(row,col,row*col),
        # print '%d' %col
    # print '第%d行' %row
    print ''
    row += 1

這裏寫圖片描述

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