本教程的知識(shí)點(diǎn)為:計(jì)算機(jī)組成 計(jì)算機(jī)是由什么組成的? 1. 硬件系統(tǒng): 2. 軟件系統(tǒng): 目標(biāo) 運(yùn)算符的分類 1. 算數(shù)運(yùn)算符 2. 賦值運(yùn)算符 3. 復(fù)合賦值運(yùn)算符 判斷語(yǔ)句和循環(huán)語(yǔ)句 if嵌套 1. if嵌套的格式 2. if嵌套的應(yīng)用 if嵌套執(zhí)行流程 容器:字符串、列表、元組屠列、字典 字符串介紹 一. 認(rèn)識(shí)字符串 1.1 字符串特征 字符串輸出 容器:字符串禽笑、列表、元組焚刚、字典 列表的相關(guān)操作 1添加元素("增"append, extend, insert)1 append extend 容器:字符串屈梁、列表嗤练、元組、字典 字典的常見操作1 1查看元素1 2修改元素2 3添加元素3 函數(shù)介紹 1什么是函數(shù)1 小總結(jié): 函數(shù)定義和調(diào)用 1定義函數(shù)1 多函數(shù)程序的基本使用流程 1. 使用全局變量 2. 使用函數(shù)的返回值在讶、參數(shù) 3. 函數(shù)嵌套調(diào)用 函數(shù)返回值(二) 函數(shù)應(yīng)用:學(xué)生管理系統(tǒng) 遞歸函數(shù) 1什么是遞歸函數(shù)1 2遞歸函數(shù)的作用2 看階乘的規(guī)律 文件操作介紹 1什么是文件1 2文件的作用2 文件的打開與關(guān)閉 1打開文件1 面向?qū)ο缶幊探榻B 面向?qū)ο?1. 概述 2. 生活舉例 類和對(duì)象 init()方法 說(shuō)明: 問(wèn)題: 有參數(shù)的init()方法 說(shuō)明: 繼承介紹以及單繼承 1. 現(xiàn)實(shí)中的繼承 2. 程序中的繼承 單繼承:子類只繼承一個(gè)父類 說(shuō)明: super()的使用 問(wèn)題: 知識(shí)點(diǎn): 私有權(quán)限 面向?qū)ο笕筇匦裕悍庋b煞抬、繼承、多態(tài) 靜態(tài)方法和類方法 1. 類方法 2. 靜態(tài)方法 總結(jié) 異常 模塊 1Python中的模塊1 2import2 3from…import3 注意
移步這里全套資料代碼:
博客文章1: http://www.reibang.com/p/7d0d4721ef94
感興趣的小伙伴可以自取哦~
全套教程部分目錄:
部分文件圖片:
判斷語(yǔ)句和循環(huán)語(yǔ)句
學(xué)習(xí)目標(biāo):
- 能夠說(shuō)出 if 分支語(yǔ)句的作用
- 能夠說(shuō)出 if 語(yǔ)句的語(yǔ)法格式
- 能夠說(shuō)出 while 循環(huán)語(yǔ)句的作用
- 能夠說(shuō)出 while 循環(huán)的語(yǔ)法格式
- 能夠說(shuō)出 for循環(huán)的語(yǔ)法格式和作用
- 能夠說(shuō)出 break 在循環(huán)語(yǔ)句中的作用
- 能夠說(shuō)出 continue 在循環(huán)語(yǔ)句中的作用
if嵌套
通過(guò)學(xué)習(xí)if的基本用法构哺,已經(jīng)知道了
- 當(dāng)需要滿足條件去做事情的這種情況需要使用if
- 當(dāng)滿足條件時(shí)做事情A此疹,不滿足條件做事情B的這種情況使用if-else
想一想:
坐火車或者地鐵的實(shí)際情況是:先進(jìn)行安檢如果安檢通過(guò)才會(huì)判斷是否有車票,或者是先檢查是否有車票之后才會(huì)進(jìn)行安檢,即實(shí)際的情況某個(gè)判斷是再另外一個(gè)判斷成立的基礎(chǔ)上進(jìn)行的蝗碎,這樣的情況該怎樣解決呢?
答:
if嵌套
1. if嵌套的格式
if 條件1:
滿足條件1 做的事情1
滿足條件1 做的事情2
if 條件2:
滿足條件2 做的事情1
滿足條件2 做的事情2
-
說(shuō)明
- 外層的if判斷旗扑,也可以是if-else
- 內(nèi)層的if判斷蹦骑,也可以是if-else
- 根據(jù)實(shí)際開發(fā)的情況,進(jìn)行選擇
2. if嵌套的應(yīng)用
demo:
chePiao = 1 # 用1代表有車票臀防,0代表沒(méi)有車票
daoLenght = 9 # 刀子的長(zhǎng)度眠菇,單位為cm
if chePiao == 1:
print("有車票,可以進(jìn)站")
if daoLenght < 10:
print("通過(guò)安檢")
print("終于可以見到Ta了袱衷,美滋滋~~~")
else:
print("沒(méi)有通過(guò)安檢")
print("刀子的長(zhǎng)度超過(guò)規(guī)定捎废,等待警察處理...")
else:
print("沒(méi)有車票,不能進(jìn)站")
print("親愛的致燥,那就下次見了")
結(jié)果1:chePiao = 1;daoLenght = 9
有車票登疗,可以進(jìn)站
通過(guò)安檢
終于可以見到Ta了,美滋滋~~~
結(jié)果2:chePiao = 1;daoLenght = 20
有車票嫌蚤,可以進(jìn)站
沒(méi)有通過(guò)安檢
刀子的長(zhǎng)度超過(guò)規(guī)定辐益,等待警察處理...
結(jié)果3:chePiao = 0;daoLenght = 9
沒(méi)有車票,不能進(jìn)站
親愛的脱吱,那就下次見了
結(jié)果4:chePiao = 0;daoLenght = 20
沒(méi)有車票智政,不能進(jìn)站
親愛的,那就下次見了
- 想一想:為什么結(jié)果3和結(jié)果4相同箱蝠?续捂??
if嵌套執(zhí)行流程
3. 練一練
情節(jié)描述:上公交車宦搬,并且可以有座位坐下
要求:輸入公交卡當(dāng)前的余額牙瓢,只要超過(guò)2元,就可以上公交車床三;如果車上有空座位一罩,就可以坐下。
應(yīng)用:猜拳游戲
?標(biāo)
- 強(qiáng)化 多個(gè)條件 的 邏輯運(yùn)算
- 體會(huì) import 導(dǎo)?模塊(“?具包”)的使?
1. 需求
從控制臺(tái)輸?要出的拳 —— ?頭(1)/剪?(2)/布(3)
電腦 隨機(jī) 出拳 —— 先假定電腦只會(huì)出?頭撇簿,完成整體代碼功能
?較勝負(fù)
<1>運(yùn)行效果:1>
3. 參考代碼:
import random
player = input('請(qǐng)輸入:剪刀(0) 石頭(1) 布(2):')
player = int(player)
# 產(chǎn)生隨機(jī)整數(shù):0聂渊、1、2 中的某一個(gè)
computer = random.randint(0,2)
# 用來(lái)進(jìn)行測(cè)試
#print('player=%d,computer=%d',(player,computer))
if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
print('獲勝四瘫,哈哈汉嗽,你太厲害了')
elif player == computer:
print('平局,要不再來(lái)一局')
else:
print('輸了找蜜,不要走饼暑,洗洗手接著來(lái),決戰(zhàn)到天亮')
隨機(jī)數(shù)的處理
- 在 Python 中,要使?隨機(jī)數(shù)弓叛,?先需要導(dǎo)? 隨機(jī)數(shù) 的 模塊 —— “?具包”
import random
導(dǎo)?模塊后彰居,可以直接在 模塊名稱 后?敲?個(gè) . 然后按 Tab 鍵,會(huì)提示該模塊中包含的所有函數(shù)
random.randint(a, b) 撰筷,返回 [a, b] 之間的整數(shù)陈惰,包含 a 和 b
目標(biāo)
- 了解循環(huán)
- while語(yǔ)法【重點(diǎn)】
- while應(yīng)用
- break和continue
- while循環(huán)嵌套【重點(diǎn)】
- while循環(huán)嵌套應(yīng)用【難點(diǎn)】
- for循環(huán)
循環(huán)語(yǔ)句介紹
<1>生活中的循環(huán)場(chǎng)景1>
跑道
思考:假如我有個(gè)女朋友,有一天我們鬧矛盾生氣了毕籽,女朋友說(shuō):道歉抬闯,說(shuō)一萬(wàn)遍“媳婦兒,我錯(cuò)了”关筒。這個(gè)時(shí)候程序員會(huì)怎么做溶握?
答: 一萬(wàn)遍print("媳婦兒,我錯(cuò)了")
思考:復(fù)制粘貼一萬(wàn)次嗎蒸播?
答:重復(fù)執(zhí)行一萬(wàn)次一樣的代碼睡榆,程序中循環(huán)即可
<2>軟件開發(fā)中循環(huán)的使用場(chǎng)景2>
跟媳婦承認(rèn)錯(cuò)誤,說(shuō)一萬(wàn)遍"媳婦兒廉赔,我錯(cuò)了"
print("媳婦兒肉微,我錯(cuò)了")
print("媳婦兒,我錯(cuò)了")
print("媳婦兒蜡塌,我錯(cuò)了")
...(還有99997遍)...
使用循環(huán)語(yǔ)句一句話搞定
i = 0
while i < 10000:
print("媳婦兒碉纳,我錯(cuò)了")
i += 1
循環(huán)的作用:讓代碼更高效的重復(fù)執(zhí)行。
循環(huán)的分類
在Python中馏艾,循環(huán)分為while
和for
兩種劳曹,最終實(shí)現(xiàn)效果相同。
<3>小總結(jié)3>
while和if的用法基本類似琅摩,區(qū)別在于:if 條件成立铁孵,則執(zhí)行一次; while 條件成立房资,則重復(fù)執(zhí)行蜕劝,直到條件不成立為止。
一般情況下轰异,需要多次重復(fù)執(zhí)行的代碼岖沛,都可以用循環(huán)的方式來(lái)完成
循環(huán)不是必須要使用的,但是為了提高代碼的重復(fù)使用率搭独,所以有經(jīng)驗(yàn)的開發(fā)者都會(huì)采用循環(huán)
while循環(huán)
1. while循環(huán)的格式
while 條件:
條件滿足時(shí)婴削,做的事情1
條件滿足時(shí),做的事情2
條件滿足時(shí)牙肝,做的事情3
...(省略)...
2. 練習(xí)題:循環(huán)打印5次
i = 0
while i < 5:
print("當(dāng)前是第%d次執(zhí)行循環(huán)" % (i + 1))
print("i=%d" % i)
i+=1
3. 結(jié)果:
當(dāng)前是第1次執(zhí)行循環(huán)
i=0
當(dāng)前是第2次執(zhí)行循環(huán)
i=1
當(dāng)前是第3次執(zhí)行循環(huán)
i=2
當(dāng)前是第4次執(zhí)行循環(huán)
i=3
當(dāng)前是第5次執(zhí)行循環(huán)
i=4
4. 死循環(huán)
由于程序員的原因唉俗,忘記 在循環(huán)內(nèi)部 修改循環(huán)的判斷條件嗤朴,導(dǎo)致循環(huán)持續(xù)執(zhí)?,程序?法終?虫溜!
while循環(huán)應(yīng)用
1. 計(jì)算1~100的累積和(包含1和100)
分析:1-100的累加和雹姊,即1 + 2 + 3 + 4 +….,即前兩個(gè)數(shù)字的相加結(jié)果 + 下一個(gè)數(shù)字( 前一個(gè)數(shù)字 + 1)衡楞。
參考代碼如下:
#encoding=utf-8
i = 1
sum = 0
while i <= 100:
sum = sum + i
i += 1
print("1~100的累積和為:%d" % sum)
注意:為了驗(yàn)證程序的準(zhǔn)確性容为,可以先改小數(shù)值,驗(yàn)證結(jié)果正確后寺酪,再改成1-100做累加。
2. 計(jì)算1~100之間偶數(shù)的累積和(包含1和100)
分析:1-100的偶數(shù)和替劈,即 2 + 4 + 6 + 8....寄雀,得到偶數(shù)的方法如下:
- 偶數(shù)即是和2取余結(jié)果為0的數(shù)字,可以加入條件語(yǔ)句判斷是否為偶數(shù)陨献,為偶數(shù)則累加
- 初始值為0 / 2 , 計(jì)數(shù)器每次累加2
參考代碼如下:
方法一:條件判斷和2取余數(shù)則累加
#encoding=utf-8
i = 1
sum = 0
while i <= 100:
if i % 2 == 0:
sum = sum + i
i+=1
print("1~100的累積和為:%d" % sum)
方法二:計(jì)數(shù)器控制
i = 0
result = 0
while i <= 100:
result += i
i += 2
# 輸出2550
print(result)
while循環(huán)嵌套
前面學(xué)習(xí)過(guò)if的嵌套了盒犹,想一想if嵌套是什么樣子的?
類似if的嵌套眨业,while嵌套就是:while里面還有while
1. while嵌套的格式
while 條件1:
條件1滿足時(shí)急膀,做的事情1
條件1滿足時(shí),做的事情2
條件1滿足時(shí)龄捡,做的事情3
...(省略)...
while 條件2:
條件2滿足時(shí)卓嫂,做的事情1
條件2滿足時(shí),做的事情2
條件2滿足時(shí)聘殖,做的事情3
...(省略)...
2. while嵌套應(yīng)用
要求:打印如下圖形:
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
參考代碼:
i = 1
while i <= 5:
j = 1
while j <= 5:
print("*", end=" ")
j += 1
print()
i += 1
3.練習(xí)題:打印三角形
要求:打印如下圖形:
*
* *
* * *
* * * *
* * * * *
參考代碼:
i = 1
while i <= 5:
j = 1
while j <= i:
print("*", end=" ")
j += 1
print()
i += 1
4. 九九乘法表
執(zhí)行結(jié)果
參考代碼:
# 重復(fù)打印9行表達(dá)式
j = 1
while j <= 9:
# 打印一行里面的表達(dá)式 a * b = a*b
i = 1
while i <= j:
print(f'{i}*{j}={j*i}', end='\t')
i += 1
print()
j += 1
5. 練習(xí)題: 猜拳游戲(while版)
使用while循環(huán)語(yǔ)句實(shí)現(xiàn)猜拳游戲.
for循環(huán)
像while循環(huán)一樣晨雳,for可以完成循環(huán)的功能。
在Python中 for循環(huán)可以遍歷任何序列的項(xiàng)目奸腺,如一個(gè)列表或者一個(gè)字符串等。
for循環(huán)的格式
for 臨時(shí)變量 in 列表或者字符串等可迭代對(duì)象:
循環(huán)滿足條件時(shí)執(zhí)行的代碼
demo1
name = 'itheima'
for x in name:
print(x)
運(yùn)行結(jié)果如下:
i
t
h
e
i
m
a
demo2
>>> for x in name:
print(x)
if x == 'l':
print("Hello world!")
運(yùn)行結(jié)果如下:
h
e
l
Hello world!
l
Hello world!
o
demo3
# range(5) 在python就業(yè)班中進(jìn)行講解會(huì)牽扯到迭代器的知識(shí),
# 作為剛開始學(xué)習(xí)python的我們箱蟆,此階段僅僅知道range(5)表示可以循環(huán)5次即可
for i in range(5):
print(i)
'''
效果等同于 while 循環(huán)的:
i = 0
while i < 5:
print(i)
i += 1
'''
運(yùn)行結(jié)果如下:
0
1
2
3
4
break和continue
1. break
<1> for循環(huán)1>
- 普通的循環(huán)示例如下:
name = 'itheima'
for x in name:
print('----')
print(x)
else:
print("==for循環(huán)過(guò)程中直颅,如果沒(méi)有執(zhí)行break退出,則執(zhí)行本語(yǔ)句==")
運(yùn)行結(jié)果:
----
i
----
t
----
h
----
e
----
i
----
m
----
a
==for循環(huán)過(guò)程中讹蘑,如果沒(méi)有break則執(zhí)行==
- 帶有break的循環(huán)示例如下:
name = 'itheima'
for x in name:
print('----')
if x == 'e':
break
print(x)
else:
print("==for循環(huán)過(guò)程中末盔,如果沒(méi)有執(zhí)行break退出,則執(zhí)行本語(yǔ)句==")
運(yùn)行結(jié)果:
----
i
----
t
----
h
----
<2> while循環(huán)2>
- 普通的循環(huán)示例如下:
i = 0
while i<5:
i = i+1
print('----')
print(i)
else:
print("==while循環(huán)過(guò)程中衔肢,如果沒(méi)有執(zhí)行break退出庄岖,則執(zhí)行本語(yǔ)句==")
運(yùn)行結(jié)果:
----
1
----
2
----
3
----
4
----
5
==while循環(huán)過(guò)程中,如果沒(méi)有break則執(zhí)行==
- 帶有break的循環(huán)示例如下:
i = 0
while i<5:
i = i+1
print('----')
if i==3:
break
print(i)
else:
print("==while循環(huán)過(guò)程中角骤,如果沒(méi)有執(zhí)行break退出隅忿,則執(zhí)行本語(yǔ)句==")
運(yùn)行結(jié)果:
----
1
----
2
----
小結(jié):
- break的作用:立刻結(jié)束break所在的循環(huán)
2. continue
<1> for循環(huán)1>
- 帶有continue的循環(huán)示例如下:
name = 'itheima'
for x in name:
print('----')
if x == 'e':
continue
print(x)
else:
print("==while循環(huán)過(guò)程中心剥,如果沒(méi)有break則執(zhí)行==")
運(yùn)行結(jié)果:
----
i
----
t
----
h
----
----
i
----
m
----
a
==while循環(huán)過(guò)程中,如果沒(méi)有break則執(zhí)行==
<2> while循環(huán)2>
- 帶有continue的循環(huán)示例如下:
i = 0
while i<5:
i = i+1
print('----')
if i==3:
continue
print(i)
運(yùn)行結(jié)果:
----
1
----
2
----
----
4
----
5
小結(jié):
continue的作用:用來(lái)結(jié)束本次循環(huán)背桐,緊接著執(zhí)行下一次的循環(huán)
循環(huán)可以和else配合使用优烧,else下方縮進(jìn)的代碼指的是當(dāng)循環(huán)正常結(jié)束之后要執(zhí)行的代碼。
所謂else指的是循環(huán)正常結(jié)束之后要執(zhí)行的代碼链峭,即如果是break終止循環(huán)的情況畦娄,else下方縮進(jìn)的代碼將不執(zhí)行。
因?yàn)閏ontinue是退出當(dāng)前一次循環(huán)弊仪,繼續(xù)下一次循環(huán)熙卡,所以該循環(huán)在continue控制下是可以正常結(jié)束的,當(dāng)循環(huán)結(jié)束后励饵,則執(zhí)行了else縮進(jìn)的代碼驳癌。
3. 注意點(diǎn)
break/continue只能用在循環(huán)中,除此以外不能單獨(dú)使用
break/continue在嵌套循環(huán)中役听,只對(duì)最近的一層循環(huán)起作用
-
else
- while和for都可以配合else使用
- else下方縮進(jìn)的代碼含義:當(dāng)循環(huán)正常結(jié)束后執(zhí)行的代碼
- break終止循環(huán)不會(huì)執(zhí)行else下方縮進(jìn)的代碼
- continue退出循環(huán)的方式執(zhí)行else下方縮進(jìn)的代碼