![55講-魚(yú)C論壇小甲魚(yú)Python課后題_第1頁(yè)](http://file4.renrendoc.com/view9/M01/0E/14/wKhkGWc72n6ABVcCAAFIndkk4Ag282.jpg)
![55講-魚(yú)C論壇小甲魚(yú)Python課后題_第2頁(yè)](http://file4.renrendoc.com/view9/M01/0E/14/wKhkGWc72n6ABVcCAAFIndkk4Ag2822.jpg)
![55講-魚(yú)C論壇小甲魚(yú)Python課后題_第3頁(yè)](http://file4.renrendoc.com/view9/M01/0E/14/wKhkGWc72n6ABVcCAAFIndkk4Ag2823.jpg)
![55講-魚(yú)C論壇小甲魚(yú)Python課后題_第4頁(yè)](http://file4.renrendoc.com/view9/M01/0E/14/wKhkGWc72n6ABVcCAAFIndkk4Ag2824.jpg)
![55講-魚(yú)C論壇小甲魚(yú)Python課后題_第5頁(yè)](http://file4.renrendoc.com/view9/M01/0E/14/wKhkGWc72n6ABVcCAAFIndkk4Ag2825.jpg)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1課
0.Python是什么類(lèi)型的語(yǔ)言?
Python是腳本語(yǔ)言
腳本語(yǔ)言(Scriptinglanguage)是電腦編程語(yǔ)言,因此也能讓開(kāi)發(fā)者藉以編寫(xiě)出
讓電腦聽(tīng)命行事的程序。以簡(jiǎn)單的方式快速完成某些復(fù)雜的事情通常是創(chuàng)造腳本
語(yǔ)言的重要原則,基于這項(xiàng)原則,使得腳本語(yǔ)言通常比C語(yǔ)言、C++語(yǔ)言或
Java之類(lèi)的系統(tǒng)編程語(yǔ)言要簡(jiǎn)單容易。
也讓腳本語(yǔ)言另有一些屬于腳本語(yǔ)言的特性:
?語(yǔ)法和結(jié)構(gòu)通常比較簡(jiǎn)單
?學(xué)習(xí)和使用通常比較簡(jiǎn)單
?通常以容易修改程序的“解釋"作為運(yùn)行方式,而不需要"編譯"
?程序的開(kāi)發(fā)產(chǎn)能優(yōu)于運(yùn)行性能
一個(gè)腳本可以使得本來(lái)要用鍵盤(pán)進(jìn)行的相互式操作自動(dòng)化。一個(gè)Shell腳本主要
由原本需要在命令行輸入的命令組成,或在一個(gè)文本編輯器中,用戶(hù)可以使用腳
本來(lái)把一些常用的操作組合成一組串行。主要用來(lái)書(shū)寫(xiě)這種腳本的語(yǔ)言叫做腳本
語(yǔ)言。很多腳本語(yǔ)言實(shí)際上已經(jīng)超過(guò)簡(jiǎn)單的用戶(hù)命令串行的指令,還可以編寫(xiě)更
復(fù)雜的程序。
1.IDLE是什么?
IDLE是一個(gè)PythonShell,shell的意思就是"外殼”,基本上來(lái)說(shuō),就
是一個(gè)通過(guò)鍵入文本與程序交互的途徑!像我們Windows那個(gè)cmd窗口,像
Linux那個(gè)黑乎乎的命令窗口,他們都是shell,利用他們,我們就可以給操作
系統(tǒng)下達(dá)命令。同樣的,我們可以利用IDLE這個(gè)shell與Python進(jìn)行互動(dòng)。
2.print()的作用是什么?
print()會(huì)在輸出窗口中顯示一些文本(在這一講中,輸出窗口就是IDLEshell
窗口)。
3.Python中表示乘法的符號(hào)是什么?
Python中的乘號(hào)是*(星號(hào))。
4.為什么>>>print('Ilove,*5)可以正常執(zhí)行,
但>>>print('Ilove'+5)卻報(bào)錯(cuò)?
在Python中不能把兩個(gè)完全不同的東西加在一起,比如說(shuō)數(shù)字和文本,
正是這個(gè)原因,>>>print('Ilove'+5)才會(huì)報(bào)錯(cuò)。這就像是在說(shuō)"五
只小甲魚(yú)加上蒼井空會(huì)是多少?"一樣沒(méi)有多大意義,結(jié)果可能是五,可能是六,
也可能是八!不過(guò)乘以一個(gè)整數(shù)來(lái)翻倍就具有一定的意義了,前邊的例子就是將
"Ilove"這個(gè)字符串打印五次。
5.如果我需要在一個(gè)字符串中嵌入一個(gè)雙引號(hào),正確的做法是?
你有兩個(gè)選擇:可以利用反斜杠(\)對(duì)雙引號(hào)轉(zhuǎn)義:\",或者用單引號(hào)引
起這個(gè)字符串。例如:'
Il"o"ve'o
6.為什么我們要使用Python3?Python2到底有什么問(wèn)題?看起來(lái)很多程序
員依然都在使用Python2?
確實(shí)還有相當(dāng)多的程序員在使用Python2,不過(guò)Python3才是Python
發(fā)展的未來(lái),就像XP和WIN7一樣。在《零基礎(chǔ)入門(mén)學(xué)習(xí)Python》的系列
教程準(zhǔn)備中,小甲魚(yú)發(fā)覺(jué)Python3中的新特性確實(shí)很妙很值得進(jìn)行深入學(xué)習(xí)!
你也不用擔(dān)心,如果你了解了Python3,Python2的代碼閱讀對(duì)于你來(lái)說(shuō)根本
不成問(wèn)題!
第2課
。什么是BIF?
BIF就是Built-inFunctions,內(nèi)置函數(shù)。為了方便程序員快速編寫(xiě)腳本程序(腳
本就是要編程速度快快快!?。?,Python提供了非常豐富的內(nèi)置函數(shù),我們
只需要直接調(diào)用即可,例如print()的功能是"打印到屏幕",input()的作用
是接收用戶(hù)輸入(注:Python3用input。取代了Python2的raw_input(),
用法如有不懂請(qǐng)看視頻講解)。
太多BIF學(xué)不過(guò)來(lái)怎么辦?看不懂英文說(shuō)明怎么辦?Python3的資料太少怎么
辦?沒(méi)事,有了小甲魚(yú),媽媽再也不用擔(dān)心我的學(xué)習(xí)了!
1.用課堂上小甲魚(yú)教的方法數(shù)一數(shù)Python3提供了多少個(gè)BIF?
在Python或IDLE中,輸入dir(_builtins_)可以看到Python提供的內(nèi)
置方法列表(注意,前后是兩個(gè)下劃線哦)其中小寫(xiě)的就是如果
burinsBIFO
想具體查看某個(gè)BIF的功能比如input(),可以在shell中輸入help(input),
就會(huì)得到這個(gè)BIF的功能描述。哦,答案應(yīng)該是68個(gè),不信你自己數(shù)數(shù)看,
你們肯定沒(méi)有自己完成作業(yè)就來(lái)看答案!哼~T_T
2.在Python看來(lái):'FishC和'fishc'一樣嗎?
不一樣,因?yàn)镻ython是一個(gè)"敏感的小女孩",所以不要試圖欺騙她,對(duì)
Python來(lái)說(shuō),fishc和FishC是完全不同的兩個(gè)名字,所以編程的時(shí)候一定
要當(dāng)心。不過(guò)Python會(huì)幫助解決可能因此出現(xiàn)的問(wèn)題,例如只有當(dāng)標(biāo)識(shí)符已
經(jīng)賦值后(還記得嗎,小甲魚(yú)在課堂中說(shuō)過(guò)Python的變量是不用先聲明的)
才能在代碼中使用,未賦值的標(biāo)識(shí)符直接使用會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤,所以你很快就
可以根據(jù)經(jīng)驗(yàn)發(fā)現(xiàn)此問(wèn)題。
3.在小甲魚(yú)看來(lái),Python中什么是最重要的?你贊同嗎?
縮進(jìn)!在小甲魚(yú)看來(lái),縮進(jìn)是Python的靈魂,縮進(jìn)的嚴(yán)格要求使得Python的
代碼顯得非常精簡(jiǎn)并且有層次(小甲魚(yú)閱讀過(guò)很多大牛的代碼,那個(gè)亂……C語(yǔ)
言不是有國(guó)際亂碼大賽嘛……)O
所以在Python里對(duì)待縮進(jìn)代碼要十分小心,如果沒(méi)有正確地縮進(jìn),代碼所做
的事情可能和你的期望相去甚遠(yuǎn)(就像C語(yǔ)言里邊括號(hào)打錯(cuò)了位置)。
如果在正確的位置輸入冒號(hào),IDLE會(huì)自動(dòng)將下一行縮進(jìn)!
4.這節(jié)課的例子中出現(xiàn)了和"==",他們表示不同的含義,你在編程的
過(guò)程中會(huì)不小心把"二="誤寫(xiě)成嗎?有沒(méi)有好的力'法可以解決這個(gè)問(wèn)題
呢?
C語(yǔ)言的話(huà),如果if(c==1)寫(xiě)成if(c=1),程序就完全不按程序員原本的
目的去執(zhí)行,但在Python這里,不好意思,行不通,語(yǔ)法錯(cuò)誤!Python不
允許if條件中賦值,所以ifc=1:會(huì)報(bào)錯(cuò)!
小甲魚(yú)覺(jué)得這種做法可以非常有效的防止程序員因?yàn)榇蚺凇疽沟葐?wèn)題導(dǎo)致粗心
的BUG,并且這類(lèi)BUG殺傷力都巨大!
5.你聽(tīng)說(shuō)過(guò)"拼接"這個(gè)詞嗎?
在一些編程語(yǔ)言,我們可以將兩個(gè)字符串"相加"在一起,如:T+'Love'+
,FishC會(huì)得到,ILoveFishC,在Python里,這種做法叫做拼接字符串。
第3課
0.編寫(xiě)程序:hello.py,要求用戶(hù)輸入姓名并打印“你好,姓名!”
1.name=input("請(qǐng)輸入您的姓名:")
2.print。你好J+name+'!')
1.編寫(xiě)程序:calcpy要求用戶(hù)輸入1到100之間數(shù)字并判斷,輸入符合要求
打印"你妹好漂亮”,不符合要求則打印“你大爺好丑”
1.temp=input("請(qǐng)輸入1到100之間的數(shù)字:")
2.num=int(temp)
3.if1<=num<=100:
4.print。你妹好漂亮八一八')
5.else:
6.print。你大爺好丑T_T')
5.如果非要在原始字符串結(jié)尾輸入反斜杠,可以如何靈活處理?
1.>>>str=r*C:\ProgramFiles\FishC\Good"\V
第4課
測(cè)試題:
0.請(qǐng)問(wèn)以下代碼會(huì)打印多少次"我愛(ài)魚(yú)C!"
1.while'C:
2.print('我愛(ài)魚(yú)C!')
1.請(qǐng)問(wèn)以下代碼會(huì)打印多少次"我愛(ài)魚(yú)C!"
1.i=10
2.whilei:
3.print('我愛(ài)魚(yú)C!')
4.i=i-l
2.請(qǐng)寫(xiě)出與10<cost<50等價(jià)的表達(dá)式
3.Python3中,一行可以書(shū)寫(xiě)多個(gè)語(yǔ)句嗎?
4.Python3中,一個(gè)語(yǔ)句可以分成多行書(shū)寫(xiě)嗎?
5.請(qǐng)問(wèn)Python的and操作符和C語(yǔ)言的&&操作符有何不同?【該題針對(duì)有C或
C++基礎(chǔ)的朋友】
6.聽(tīng)說(shuō)過(guò)"短路邏輯(short-circuitlogic)"嗎?
動(dòng)動(dòng)手:
0.完善第二個(gè)改進(jìn)要求(為用戶(hù)提供三次機(jī)會(huì)嘗試,機(jī)會(huì)用完或者用戶(hù)猜中答案均退出循
環(huán))并改進(jìn)視頻中小甲魚(yú)的代碼。
1.嘗試寫(xiě)代碼實(shí)現(xiàn)以下截圖功能:
?>================================RESTART================================
?>
請(qǐng)輸入一個(gè)整數(shù):5
1
2
3
4
5
2.嘗試寫(xiě)代碼實(shí)現(xiàn)以下截圖功能:
?>================================RESTART================================
?>
請(qǐng)輸入一個(gè)整數(shù):8
********
*******
******
*****
****
***
**
>?|
3.請(qǐng)寫(xiě)下這一節(jié)課你學(xué)習(xí)到的內(nèi)容:格式不限,回憶并復(fù)述是加強(qiáng)記憶的好方式!
回復(fù)您的答案即可有看參考答案!
測(cè)試題答案:
0.請(qǐng)問(wèn)以下代碼會(huì)打印多少次"我愛(ài)魚(yú)C!”
死循環(huán),會(huì)一直打印"我愛(ài)魚(yú)C!"(嗯,這也算是永遠(yuǎn)支持魚(yú)C的方法之一),直到崩
潰或者用戶(hù)按下快捷鍵CTRL+C(強(qiáng)制結(jié)束)
造成死循環(huán)的原因是while后邊的條件永遠(yuǎn)為真(True),在Python看來(lái),只有以下內(nèi)容
會(huì)被看作假(注意冒號(hào)括號(hào)里邊啥都沒(méi)有,連空格都不要有?。篎alseNone0"()[]{}
其他一切都被解釋為真!
不妨試試:
1.while":
2.print(進(jìn)入循環(huán)')
3.print。退出循環(huán))
復(fù)制代碼
或者
1.whileFalse:
2.print('進(jìn)入循環(huán)')
3.print(退出循環(huán))
復(fù)制代碼
或者
1.while0:
2.print('進(jìn)入循環(huán)')
3.print('退出循環(huán))
復(fù)制代碼
1.請(qǐng)問(wèn)以下代碼會(huì)打印多少次“我爰魚(yú)c!”
會(huì)打印10次。
2.請(qǐng)寫(xiě)出與10<cost<50等價(jià)的表達(dá)式
(10<cost)and(cost<50)
3.Python3中,一行可以書(shū)寫(xiě)多個(gè)語(yǔ)句嗎?
可以,語(yǔ)句之間用分號(hào)隔開(kāi)即可,不妨試試:
>>>print('Ilovefishc');print('verymuch!')
4.Python3中,一個(gè)語(yǔ)句可以分成多行書(shū)寫(xiě)嗎?
可以,一行過(guò)長(zhǎng)的語(yǔ)句可以使用反斜杠或者括號(hào)分解成幾行,不妨試試:
1.>>>3>4and\
2.1<2
復(fù)制代碼
或者
1.>>>(3>4and
2.1<2)
復(fù)制代碼
5.【該題針對(duì)有C或C++基礎(chǔ)的朋友】請(qǐng)問(wèn)Python的and操作符和C語(yǔ)言的&&操
作符有何不同?
有圖有真相(C\C++VSPython):
^include<stdio.h>
intmain。
<
printFC^d,%d\n",1&&3,O&&1);
c\*C:\Docu>entsandSettings\fishc\桌面、新建文件夾'DebugVtest.exe*
170
Pressanykeytocontinue.
VS
>>>1and3
3
?>0and1
0
?>I
6.聽(tīng)說(shuō)過(guò)“短路邏輯(short-circuitlogic)”嗎?
邏輯操作符有個(gè)有趣的特性:在不需要求值的時(shí)候不進(jìn)行操作。這么說(shuō)可能比較"高深"
舉個(gè)例子,表達(dá)式xandy,需要x和y兩個(gè)變量同時(shí)為真(True)的時(shí)候,結(jié)果才為真。
因此如果當(dāng)x變量得知是假(False)的時(shí)候,表達(dá)式就會(huì)立刻返回False而不用去管y變
量的值。
這種行為被稱(chēng)為短路邏輯(short-circuitlogic)或者惰性求值(lazyevaluation),這種
行為同樣也應(yīng)用與or操作符,這個(gè)后邊的課程小甲魚(yú)會(huì)講到,不急。
實(shí)際上,Python的做法是如果x為假,表達(dá)式會(huì)返回x的值(0),否則它就會(huì)返回y的
值(例子參考樓上那題).
動(dòng)動(dòng)手答案:
0.完善第二個(gè)改進(jìn)要求(為用戶(hù)提供三次機(jī)會(huì)嘗試,機(jī)會(huì)用完或者用戶(hù)猜中答案均退出循
環(huán))并改進(jìn)視頻中小甲魚(yú)的代碼。
需要注意的地方在代碼中已經(jīng)注釋?zhuān)?/p>
1.importrandom
2.times=3
3.secret=random.randint(l,10)
4.printC我愛(ài)魚(yú)C工作室')
5.#這里先給guess賦值(賦一個(gè)絕對(duì)不等于secret的值)
6.guess=0
7.#print。默認(rèn)是打印完字符串會(huì)自動(dòng)添加一個(gè)換行符,end=""參數(shù)告訴print。用空格代替
換行
8.#嗯,小甲魚(yú)覺(jué)得富有創(chuàng)意的你應(yīng)該會(huì)嘗試用end="JJ"?
9.print("不妨猜一下小甲魚(yú)現(xiàn)在心里想的是哪個(gè)數(shù)字:;end="")
10.while(guess!=secret)and(times>0):
11.temp=inputQ
12.guess=int(temp)
13.times=times-1#用戶(hù)每輸入一次,可用機(jī)會(huì)就T
14.ifguess==secret:
15.print(“我草,你是小甲魚(yú)心里的蛔蟲(chóng)嗎?!")
16.print("哼,猜中了也沒(méi)有獎(jiǎng)勵(lì)!")
17.else:
18.ifguess>secret:
19.print("哥,大了大了
20.else:
21.print("嘿,小了,小了
22.iftimes>0:
23.prints再試一次吧:",end="")
24.else:
25.print("機(jī)會(huì)用光咯T_「)
26.print("游戲結(jié)束,不玩啦八,")
復(fù)制代碼
1.嘗試寫(xiě)代碼實(shí)現(xiàn)以下截圖功能:
1.temp=input('請(qǐng)輸入一個(gè)整數(shù):')
2.number=int(temp)
3.i=1
4.whilenumber:
5.print(i)
6.i=i+1
7.number=number-1
復(fù)制代碼
2.嘗試寫(xiě)代碼實(shí)現(xiàn)以下截圖功能:
1.temp=input。請(qǐng)輸入一個(gè)整數(shù):')
2.number=int(temp)
3.whilenumber:
4.i=number-1
5.whilei:
6.printCend=")
7.i=i-1
8.j=number
9.whilej:
10.print('*',end=")
11.j=j-l
12.print()
13.number=number-1
復(fù)制代碼
3.請(qǐng)寫(xiě)下這一節(jié)課你學(xué)習(xí)到的內(nèi)容:格式不限,回憶并復(fù)述是加強(qiáng)記憶的好方式!
小甲魚(yú)希望你認(rèn)真對(duì)待作業(yè)就像你希望小甲魚(yú)推出高質(zhì)量視頻一樣渴望人_人
第5課
測(cè)試題:
0.在Python中,int表示整型,那你還記得bookfloat和str分別表示什
么嗎?
1.你知道為什么布爾類(lèi)型(bool)的True和False分別用1和0來(lái)代替
嗎?
2.使用int()將小數(shù)轉(zhuǎn)換為整數(shù),結(jié)果是向上取整還是向下取整呢?
3.我們?nèi)祟?lèi)思維是習(xí)慣于“四舍五入"法,你有什么辦法使得int()按照"四
舍五入”的方式取整嗎?
4.取得一個(gè)變量的類(lèi)型,視頻中介紹可以使用type()和isinstance(),你更傾
向于使用哪個(gè)?
5.Python3可以給變量命名中文名,知道為什么嗎?
6.【該題針對(duì)零基礎(chǔ)的魚(yú)油】你覺(jué)得這個(gè)系列教學(xué)有難度嗎?
動(dòng)動(dòng)手:
0.針對(duì)視頻中小甲魚(yú)提到的小漏洞,再次改進(jìn)我們的小游戲:當(dāng)用戶(hù)輸入錯(cuò)誤
類(lèi)型的時(shí)候,及時(shí)提醒用戶(hù)重新輸入,防止程序崩潰。
如果你嘗試過(guò)以下做法,請(qǐng)舉下小手:
1.temp=input("不妨猜一下小甲魚(yú)現(xiàn)在心里想的是哪個(gè)數(shù)字:")
2.#這種想法是因?yàn)閠ype⑴會(huì)返回〈class'int'>,如果type(temp)返回結(jié)果一致說(shuō)明輸入
是整數(shù)。
3.whiletype(temp)!=type(l):
4.print("抱歉,輸入不合法,end=")
5.temp=input("請(qǐng)輸入f整數(shù):”)
復(fù)制代碼
或者可能這樣:
1.temp=inputC1不妨猜一下小甲魚(yú)現(xiàn)在心里想的是哪個(gè)數(shù)字:”)
2.#not操作符的作用是將布爾類(lèi)型的結(jié)果翻轉(zhuǎn):即取反的意思,notTrue==Flase
3.whilenotisinstance(temp,int):
4.print("抱歉,輸入不合法,”,end=")
5.temp=input("請(qǐng)輸入一個(gè)整數(shù):”)
復(fù)制代碼
以上方法的思路是正確的,不過(guò)似乎忽略了一點(diǎn)兒:就是input。的返回值始終
是字符串,所以type(temp)永遠(yuǎn)是(class'str'>!
其實(shí)有蠻多的做法可以實(shí)現(xiàn)的,不過(guò)就目前我們學(xué)習(xí)過(guò)的內(nèi)容來(lái)看,還不足夠。
所以,在讓大家動(dòng)手完成這道題之前,小甲魚(yú)介紹一點(diǎn)新東西給大家!
s為字符串
s.isalnumO所有字符都是數(shù)字或者字母,為真返回Ture,否則返回False.
s.isalphaO所有字符都是字母,為真返回Ture,否則返回False。
s.isdigitO所有字符都是數(shù)字,為真返回Ture,否則返回False.
s.islower()所有字符都是小寫(xiě),為真返回Ture,否則返回False。
所有字符都是大寫(xiě),為真返回否則返回
s.isupperQTure,Falseo
s.istitle()所有單詞都是首字母大寫(xiě),為真返回Ture,否則返回False。
s.isspaceO所有字符都是空白字符,為真返回Ture,否則返回False。
例如:
>>>s='ILOVEFISHC
>>>s.isupperO
>>>True
好了,文字教程就到這里,大家趕緊趁熱打鐵,改造我們的小游戲吧!
1.寫(xiě)一個(gè)程序,判斷給定年份是否為閏年。(注意:請(qǐng)使用已學(xué)過(guò)的BIF進(jìn)行
靈活運(yùn)用)
這樣定義閏年的:能被4整除但不能被100整除,或者能被400整除都是閏年。
2.請(qǐng)寫(xiě)下這一節(jié)課你學(xué)習(xí)到的內(nèi)容:格式不限,回憶并復(fù)述是加強(qiáng)記憶的好方
式!
測(cè)試題答案:
0.在Python中,int表示整型,那你還記得bool,float和str分別表示
什么嗎?
bool表示布爾類(lèi)型
float表示浮點(diǎn)型
str表示字符串
1.你知道為什么布爾類(lèi)型(bool)的True和False分別用1和0來(lái)代替
嗎?
你可能聽(tīng)說(shuō)過(guò)計(jì)算機(jī)是很"笨”的,究其根本是因?yàn)樗徽J(rèn)識(shí)二進(jìn)制數(shù),所以所
有的編程語(yǔ)言最終都會(huì)轉(zhuǎn)換成簡(jiǎn)單的二進(jìn)制序列給CPU按照一定的規(guī)則解析。
由于二進(jìn)制只有兩個(gè)數(shù):0和1,因此用0和1來(lái)表示False和True再適
合不過(guò)了,因?yàn)椴挥美速M(fèi)資源在轉(zhuǎn)換的過(guò)程上!
2.使用int()將小數(shù)轉(zhuǎn)換為整數(shù),結(jié)果是向上取整還是向下取整呢?
我們可爰的小甲魚(yú)說(shuō)了Zh數(shù)取整會(huì)采用比較暴力的截?cái)喾绞剑聪蛳氯≌?注:
5.5向上取整為6,向下取整為5)
3.我們?nèi)祟?lèi)思維是習(xí)慣于“四舍五入"法,你有什么辦法使得int()按照“四
舍五入”的方式取整嗎?
int()固然沒(méi)那么"聰明",但機(jī)器是死的,魚(yú)油是活的!
5.4"四舍五入"結(jié)果為:5,int(5.4+0.5)==5
5.6"四舍五入"結(jié)果為:6,int(5.6+0.5)==6
大家看明白了嗎?
4.取得一個(gè)變量的類(lèi)型,視頻中介紹可以使用type。和isinstance。,你更
傾向于使用哪個(gè)?
建議使用isinstanceO,因?yàn)樗姆祷亟Y(jié)果比較直接,另外type()其實(shí)并沒(méi)有
你想象的那么簡(jiǎn)單,我們后邊會(huì)講到。
5.Python3可以給變量命名中文名,知道為什么嗎?
Pyhton3源碼文件默認(rèn)使用utf-8編碼(支持中文),這就使得以下代碼是合
法的:
>>>小甲魚(yú)='我愛(ài)你’
>>>print(小甲魚(yú))
>>>我愛(ài)你
6.【該題針對(duì)零基礎(chǔ)的魚(yú)油】你覺(jué)得這個(gè)系列教學(xué)有難度嗎?
如果有不懂的問(wèn)題,請(qǐng)?jiān)诖颂幪釂?wèn):http:〃/forum-173-l.html
另外需要小甲魚(yú)在視頻講解的方面做哪方面改進(jìn)請(qǐng)回帖告之!
動(dòng)動(dòng)手答案:
0.針對(duì)視頻中小甲魚(yú)提到的小漏洞,再次改進(jìn)我們的小游戲:當(dāng)用戶(hù)輸入錯(cuò)誤
類(lèi)型的時(shí)候,及時(shí)提醒用戶(hù)重新輸入,防止程序崩潰。
需要注意的地方在代碼中已經(jīng)注釋?zhuān)?/p>
1.importrandom
2.times=3
3.secret=random.randint(l,10)
4.printC我愛(ài)魚(yú)C工作室')
5.guess=0
6.print("不妨猜一下小甲魚(yú)現(xiàn)在心里想的是哪個(gè)數(shù)字:",end="")
7.while(guess!=secret)and(times>0):
8.temp=inputQ
9.whilenottemp.isdigit():
10.temp=input,抱歉,您的輸入有誤,請(qǐng)輸入一整數(shù):")
11.guess=int(temp)
12.times=times-1#用戶(hù)每輸入一次,可用機(jī)會(huì)就T
13.ifguess==secret:
14.print("我草,你是小甲魚(yú)心里的蛔蟲(chóng)嗎?!")
15.print("哼,猜中了也沒(méi)有獎(jiǎng)勵(lì)!")
16.else:
17.ifguess>secret:
18.print("哥,大了大了-一)
19.else:
20.print("嘿,小了,小了“
21.iftimes>0:
22.print("再試一次吧:",end="")
23.else:
24.print("機(jī)會(huì)用光咯T_「)
25.print("游戲結(jié)束,不玩啦人/")
復(fù)制代碼
1.寫(xiě)一個(gè)程序,判斷給定年份是否為閏年。
1.temp=input。請(qǐng)輸入一個(gè)年份:,)
2.whilenottemp.isdigit():
3.temp=inputs抱歉,您的輸入有誤,請(qǐng)輸入一個(gè)整數(shù):”)
4.
5.year=int(temp)
6.ifyear/400==int(year/400):
7.print(temp+'是閏年!,)
8.else:
9.if(year/4==int(year/4))and(year/100!=int(year/100)):
10.print(temp+'是閏年!')
11.else:
12.print(temp+'不是閏年!,)
復(fù)制代碼
2.嘗試寫(xiě)代碼實(shí)現(xiàn)以下截圖功能:
3.請(qǐng)寫(xiě)下這一節(jié)課你學(xué)習(xí)到的內(nèi)容:格式不限,回憶并復(fù)述是加強(qiáng)記憶的好方
式!
回復(fù)您的答案即可有看參考答案!
測(cè)試題答案:
0.請(qǐng)問(wèn)以下代碼會(huì)打印多少次“我爰魚(yú)C!”
死循環(huán),會(huì)一直打印"我愛(ài)魚(yú)C!"(嗯,這也算是永遠(yuǎn)支持魚(yú)C的方法之一),
直到崩潰或者用戶(hù)按下快捷鍵CTRL+C(強(qiáng)制結(jié)束)
造成死循環(huán)的原因是while后邊的條件永遠(yuǎn)為真(True),在Python看來(lái),只
有以下內(nèi)容會(huì)被看作假(注意冒號(hào)括號(hào)里邊啥都沒(méi)有,連空格都不要有?。篎alse
NoneO"""()[]{)
其他一切都被解釋為真!
不妨試試:
1.while":
2.print('進(jìn)入循環(huán)')
3.print('退出循環(huán)')
復(fù)制代碼
或者
1.whileFlase:
2.print('進(jìn)入循環(huán)')
3.print('退出循環(huán)')
復(fù)制代碼
或者
1.while0:
2.print('進(jìn)入循環(huán)')
3.print(退出循環(huán))
復(fù)制代碼
1.請(qǐng)問(wèn)以下代碼會(huì)打印多少次“我愛(ài)魚(yú)c!”
會(huì)打印10次。
2.請(qǐng)寫(xiě)出與10<cost<50等價(jià)的表達(dá)式
(10<cost)and(cost<50)
3.Python3中,一行可以書(shū)寫(xiě)多個(gè)語(yǔ)句嗎?
可以,語(yǔ)句之間用分號(hào)隔開(kāi)即可,不妨試試:
>>>print('Ilovefishc');print('verymuch!')
4.Python3中,一個(gè)語(yǔ)句可以分成多行書(shū)寫(xiě)嗎?
可以,一行過(guò)長(zhǎng)的語(yǔ)句可以使用反斜杠或者括號(hào)分解成幾行,不妨試試:
1.>>>3>4and\
2.1<2
復(fù)制代碼
或者
1.>>>(3>4and
2.1<2)
復(fù)制代碼
5.【該題針對(duì)有C或C++基礎(chǔ)的朋友】請(qǐng)問(wèn)Python的and操作符和(:語(yǔ)
言的&&操作符有何不同?
有圖有真相(C\c++VSPython):
vs
6.聽(tīng)說(shuō)過(guò)“短路邏輯(short-circuitlogic)”嗎?
邏輯操作符有個(gè)有趣的特性:在不需要求值的時(shí)候不進(jìn)行操作。這么說(shuō)可能比較
"高深”,舉個(gè)例子,表達(dá)式xandy,需要x和y兩個(gè)變量同時(shí)為真(True)
的時(shí)候,結(jié)果才為真。因此,如果當(dāng)x變量得知是假(False)的時(shí)候,表達(dá)式就
會(huì)立刻返回False,而不用去管y變量的值。
這種行為被稱(chēng)為短路邏輯(short-circuitlogic)或者惰性求值(lazy
evaluation),這種行為同樣也應(yīng)用與or操作符,這個(gè)后邊的課程小甲魚(yú)會(huì)講
到,不急。
實(shí)際上,Python的做法是如果x為假,表達(dá)式會(huì)返回x的值(0),否則它就
會(huì)返回y的值(例子參考樓上那題)。
動(dòng)動(dòng)手答案:
0.完善第二介改進(jìn)要求(為用戶(hù)提供三次機(jī)會(huì)嘗試,機(jī)會(huì)用完或者用戶(hù)猜中答
案均退出循環(huán))并改進(jìn)視頻中小甲魚(yú)的代碼。
需要注意的地方在代碼中已經(jīng)注釋?zhuān)?/p>
1.importrandom
2.times=3
3.secret=random.randint(l,10)
4.print('我愛(ài)魚(yú)C工作室--)
5.#這里先給guess賦值(賦一個(gè)絕對(duì)不等于secret的值)
6.guess=0
7.#print。默認(rèn)是打印完字符串會(huì)自動(dòng)添加一個(gè)換行符,end="”參數(shù)告訴print。用空格代替
換行
8.#嗯,小甲魚(yú)覺(jué)得富有創(chuàng)意的你應(yīng)該會(huì)嘗試用end="JJ"?
9.print("不妨猜一下小甲魚(yú)現(xiàn)在心里想的是哪個(gè)數(shù)字:",end="")
10.while(guess!=secret)and(times>0):
11.temp=inputQ
12.guess=int(temp)
13.times=times-1#用戶(hù)每輸入一次,可用機(jī)會(huì)就-1
14.ifguess==secret:
15.print("我草,你是小甲魚(yú)心里的蛔蟲(chóng)嗎?!“)
16.print("哼,猜中了也沒(méi)有獎(jiǎng)勵(lì)!")
17.else:
18.ifguess>secret:
19.print("哥,大了大了~~
20.else:
21.print("嘿了,〃\了
22.iftimes>0:
23.print("再試一次吧:",end=n")
24.else:
25.print("機(jī)會(huì)用光咯T_「)
26.print("游戲結(jié)束,不玩啦八,")
復(fù)制代碼
1.嘗試寫(xiě)代碼實(shí)現(xiàn)以下截圖功能:
1.temp=input。請(qǐng)輸入一個(gè)整數(shù):')
2.number=int(temp)
3.i=1
4.whilenumber:
5.print(i)
6.i=i+1
7.number=number-1
復(fù)制代碼
2.嘗試寫(xiě)代碼實(shí)現(xiàn)以下截圖功能:
1.temp=input。請(qǐng)輸入一個(gè)整數(shù):')
2.number=int(temp)
3.whilenumber:
4.i=number-1
5.whilei:
6.print。',end=")
7.i=i-1
8.j=number
9.whilej:
10.print(叫end=")
11.j=j-l
12.print()
13.number=number-1
復(fù)制代碼
第6課
測(cè)試題:
0.Python的floor除法現(xiàn)在使用7/"實(shí)現(xiàn),那3.0//2.0您目測(cè)會(huì)顯示
什么內(nèi)容呢?
1.a<b<c事實(shí)上是等于?
2.不使用IDLE,你可以輕松說(shuō)出5**-2的值嗎?
3.如何簡(jiǎn)單判斷一個(gè)數(shù)是奇數(shù)還是偶數(shù)?
4.請(qǐng)用最快速度說(shuō)出答案:not1or0and1or3and4or5and6or7and
8and9
5.還記得我們上節(jié)課那個(gè)求閏年的作業(yè)嗎?如果還沒(méi)有學(xué)到"求余"操作,還
記得用什么方法可以“委曲求全"代替"%"的功能呢?
動(dòng)動(dòng)手:
0.請(qǐng)寫(xiě)一個(gè)程序打印出0~100所有的奇數(shù)。
1.我們說(shuō)過(guò)現(xiàn)在的Python可以計(jì)算很大很大的數(shù)據(jù),但是真正的大數(shù)據(jù)
計(jì)算可是要靠剛剛的硬件滴,不妨寫(xiě)一個(gè)小代碼,讓你的計(jì)算機(jī)為之崩潰?
2.
愛(ài)因斯坦曾出過(guò)這樣一道有趣的數(shù)學(xué)題:有一個(gè)長(zhǎng)階梯,若每步上2階,最后剩
1階;若每步上3階,最后剩2階;若每步上5階,最后剩4階;若每步上6
階,最后剩5階;只有每步上7階,最后剛好一階也不剩。
(小甲魚(yú)溫馨提示:步子太大真的容易扯著蛋?~~)
題目:請(qǐng)編程求解該階梯至少有多少階?
3.請(qǐng)寫(xiě)下這一節(jié)課你學(xué)習(xí)到的內(nèi)容:格式不限,回憶并復(fù)述是加強(qiáng)記憶的好方
式!
第7課
測(cè)試題答案:
0.Python的floor除法現(xiàn)在使用“〃”實(shí)現(xiàn),那3.0//2.0您目測(cè)會(huì)顯
示什么內(nèi)容呢?
如果回答是L5那么很遺憾,您受到C語(yǔ)言的影響比較大,Python這里會(huì)義
無(wú)反顧地執(zhí)行floor除法原則,答案是:1.0
1.a<b<c事實(shí)上是等于?
(a<b)and(b<c)
2.不使用IDLE,你可以輕松說(shuō)出5**-2的值嗎?
0.04,也就是1/25
幕運(yùn)算操作符比其左側(cè)的一元操作符優(yōu)先級(jí)高,比其右側(cè)的一元操作符優(yōu)先級(jí)
低。
3.如何簡(jiǎn)單判斷一分?jǐn)?shù)是奇數(shù)還是偶數(shù)?
使用求余可以簡(jiǎn)單得到答案:能被2整除為偶數(shù),所以x%2==0,否則為
奇數(shù)。
4.請(qǐng)用最快速度說(shuō)出答案:not1or0and1or3and4or5and6or7and
8and9
如果你的回答是0,那么小甲魚(yú)很開(kāi)心你中招了!
答案是:4
notorand的優(yōu)先級(jí)是不同的:not>and>or
我們按照優(yōu)先級(jí)給它們加上括號(hào):(not1)or(0and1)or(3and4)or(5and6)
or(7and8and9)
==0or0or4or6or9
==4
為啥是4?
大家還記得第四講作業(yè)提到的“短路邏輯"嗎?3and4==4,而3or4==
3。
所以答案是:4
溫馨提示為了更好的表達(dá)你的程序,小甲魚(yú)再次呼吁有些括號(hào)還是不能省下的,
畢竟不是所有程序員都跟你一樣都將優(yōu)先級(jí)爛透于心的。
5.還記得我們上節(jié)課那個(gè)求閏年的作業(yè)嗎?如果還沒(méi)有學(xué)到“求余”操作,還
記得用什么方法可以“委曲求全"代替"%"的功能呢?
因?yàn)樯瞎?jié)課我們還沒(méi)有教大家"求余"的操作,所以小甲魚(yú)使用了"ifyear/400
==int(year/400)”這樣的方式來(lái)"委曲求全"。
動(dòng)動(dòng)手答案:
0.請(qǐng)寫(xiě)一個(gè)程序打印出0~100所有的奇數(shù)。
1.i=o
2.whilei<=100:
3.ifi%2!=0:
4.print(i,end='')
5.i+=1
6.else:
7.i+=1
復(fù)制代碼
1.我們說(shuō)過(guò)現(xiàn)在的Python可以計(jì)算很大很大的數(shù)據(jù),但是真正的大數(shù)據(jù)
計(jì)算可是要靠剛剛的硬件滴,不妨寫(xiě)一個(gè)小代碼,讓你的計(jì)算機(jī)為之崩潰?
print(2**2**32)
#一般很多機(jī)子都會(huì)在一會(huì)兒之后:MemoryOverflow,內(nèi)存不夠用。
#設(shè)計(jì)到幕操作,結(jié)果都是驚人滴。
2.題目:請(qǐng)編程求解該階梯至少有多少階?
1.x=7
2.i=1
3.flag=0
4.
5.whilei<=100:
6.if(x%2==l)and(x%3==2)and(x%5==4)and(x%6==5):
7.flag=1
8.else:
9.x=7*(i+l)#根據(jù)題意,x一定是7的整數(shù)倍,所以每次乘以7
10.i+=1
11.
12.ifflag==1:
13.print。階梯數(shù)是:x)
14.else:
15.print(在程序限定的范圍內(nèi)找不到答案!’)
復(fù)制代碼
第8課
0.ifnot(money<100):上邊這行代碼相當(dāng)于?
1.assert的作用是什么?
2.假設(shè)有x=l,y=2,z=3,請(qǐng)問(wèn)如何快速將三個(gè)變量的值互相交換?
3.猜猜(x<yand岡or[y])[0]實(shí)現(xiàn)什么樣的功能?
4.你聽(tīng)說(shuō)過(guò)成員資格運(yùn)算符嗎?
動(dòng)動(dòng)手:
0.視頻中小甲魚(yú)使用ifelifelse在大多數(shù)情況下效率要比全部使用if要高,
但根據(jù)一般的統(tǒng)計(jì)規(guī)律,一個(gè)班的成績(jī)一般服從正態(tài)分布,也就是說(shuō)平均成績(jī)一
般集中在70~80分之間,因此根據(jù)統(tǒng)計(jì)規(guī)律,我們還可以改進(jìn)下程序以提高
效率。
題目備忘:按照100分制,90分以上成績(jī)?yōu)锳,80到90為B,60到80為C,
60以下為D,寫(xiě)一個(gè)程序,當(dāng)用戶(hù)輸入分?jǐn)?shù),自動(dòng)轉(zhuǎn)換為ABCD的形式打印。
1.Python的作者在很長(zhǎng)一段時(shí)間不肯加入三元操作符就是怕跟C語(yǔ)言一樣搞
出國(guó)際亂碼大賽,蛋疼的復(fù)雜度讓初學(xué)者望而生畏,不過(guò),如果你一旦搞清楚了
三元操作符的使用技巧,或許一些比較復(fù)雜的問(wèn)題反而迎刃而解。
請(qǐng)將以下代碼修改為三元操作符實(shí)現(xiàn):
1.X,y,z=6,5,4
2.ifx<y:
3.small=x
4.ifz<small:
5.small=z
6.elify<z:
7.small=y
8.else:
9.small=z
復(fù)制代碼
2.請(qǐng)寫(xiě)下這一節(jié)課你學(xué)習(xí)到的內(nèi)容:格式不限,回憶并復(fù)述是加強(qiáng)記憶的好方
式!
回復(fù)您的答案即可直看參考答案!
測(cè)試題答案:
0.ifnot(money<100):這行代碼相當(dāng)于?
ifmoney>=100:
1.assert的作用是什么?
assert這個(gè)關(guān)鍵字我們稱(chēng)之為“斷言",當(dāng)這個(gè)關(guān)鍵字后邊的條件為假的時(shí)候,
程序自動(dòng)崩潰并拋出AssertionError的異常。
什么情況下我們會(huì)需要這樣的代碼呢?當(dāng)我們?cè)跍y(cè)試程序的時(shí)候就很好用,因?yàn)?/p>
與其讓錯(cuò)誤的條件導(dǎo)致程序今后莫名其妙地崩潰,不如在錯(cuò)誤條件出現(xiàn)的那一瞬
間我們實(shí)現(xiàn)“自爆"。
一般來(lái)說(shuō)我們可以用Ta再程序中置入檢查點(diǎn),當(dāng)需要確保程序中的某個(gè)條件一
定為真才能讓程序正常工作的話(huà),assert關(guān)鍵字就非常有用了。
2.假設(shè)有x=l,y=2,z=3,請(qǐng)問(wèn)如何快速將三個(gè)變量的值互相交換?
x,y,z=z,y,x
3.猜猜(x<yand[x]or[y])[0]實(shí)現(xiàn)什么樣的功能?
這其實(shí)是Python的作者還沒(méi)有為Python加入三元操作符之前,Python社
區(qū)的小伙伴們靈活的使用and和or搭配來(lái)實(shí)現(xiàn)三元操作符的功能,這里邊有
涉及到列表和切片的知識(shí),這部分知識(shí)很快就會(huì)講解,迫不及待的朋友可以先稍
微預(yù)習(xí)下。
4.你聽(tīng)說(shuō)過(guò)成員資格運(yùn)算符嗎?
Python有一個(gè)成員資格運(yùn)算符:in,用于檢查一個(gè)值是否在序列中,如果在序
列中返回否則返回
True,Falseo
例如:
1.>>>name='小甲魚(yú)’
2.>>>'魚(yú)'inname
3.True
4.>>>為巴魚(yú)'inname
5.False
復(fù)制代碼
當(dāng)下節(jié)課我們講解for語(yǔ)句的時(shí)候,你看到in會(huì)不會(huì)就有了更深入的理解?!
動(dòng)動(dòng)手答案:
0.視頻中小甲魚(yú)使用ifelifelse在大多數(shù)情況下效率要比全部使用if要高,
但根據(jù)一般的統(tǒng)計(jì)規(guī)律,一個(gè)班的成績(jī)一般服從正態(tài)分布,也就是說(shuō)平均成績(jī)一
般集中在70~80分之間,因此根據(jù)統(tǒng)計(jì)規(guī)律,我們還可以改進(jìn)下程序以提高
效率。
1.score=int(i叩ut('請(qǐng)輸入一個(gè)分?jǐn)?shù):,))
2.if80>score>=60:
3.printCC)
4.elif90>score>=80:
5.printCB')
6.elif60>score>=0:
7.print('D')
8.elif100>=score>=90:
9.printCA1)
10.else:
11.print('輸入錯(cuò)誤!')
復(fù)制代碼
1.Python的作者在很長(zhǎng)一段時(shí)間不肯加入三元操作符就是怕跟(:語(yǔ)言一樣搞
出國(guó)際亂碼大賽,蛋疼的復(fù)雜度讓初學(xué)者望而生畏,不過(guò),如果你一旦搞清楚了
三元操作符的使用技巧,或許一些比較復(fù)雜的問(wèn)題反而迎刃而解。
1.small=xif(x<yandx<z)else(yify<zelsez)
復(fù)制代碼
第9課
0.下面的循環(huán)會(huì)打印多少次"ILoveFishC"?
1.foriinrange(0,10,2):
2.pnnt(*ILoveFishC)
復(fù)制代碼
1.下面的循環(huán)會(huì)打印多少次"ILoveFishC"?
1.foriin5:
2.printflLoveFishC)
復(fù)制代碼
2.回顧一下break和continue在循環(huán)中起到的作用?
3.請(qǐng)談下你對(duì)列表的理解?
4.請(qǐng)問(wèn)range(lO)生成哪些數(shù)?
5.目測(cè)以下程序會(huì)打印什么?
1.whileTrue:
2.whileTrue:
3.break
4.print(l)
5.print⑵
6.break
7.print⑶
復(fù)制代碼
6.什么情況下我們要使循環(huán)永遠(yuǎn)為真?
7.【學(xué)會(huì)提高代碼的效率】你的覺(jué)得以下代碼效率方面怎樣?有沒(méi)有辦法可以
大幅度改進(jìn)(仍然使用while)?
1.i=0
2.string='ILoveFishC.com'
3.whilei<len(string)):
4.print(i)
5.i+=1
復(fù)制代碼
動(dòng)動(dòng)手:
細(xì)節(jié)決定成敗,看答案前記得自己先敲代碼!
0.設(shè)計(jì)一個(gè)驗(yàn)證用戶(hù)密碼程序,用戶(hù)只有三次機(jī)會(huì)輸入錯(cuò)誤,不過(guò)如果用戶(hù)輸
入的內(nèi)容中包含“*"則不計(jì)算在內(nèi)。
程序演示如圖:
1.編寫(xiě)一個(gè)程序,求100~999之間的所有水仙花數(shù)。
如果一個(gè)3位數(shù)等于其各位數(shù)字的立方和,則稱(chēng)這個(gè)數(shù)為水仙花數(shù)。例如:153
=1人3+5A3+3A3,因此153就是一個(gè)水仙花數(shù)。
2.三色球問(wèn)題
有紅、黃、藍(lán)三種顏色的求,其中紅球3個(gè),黃球3個(gè),綠球6個(gè)。先將這
12個(gè)球混合放在一個(gè)盒子中,從中任意摸出8個(gè)球,編程計(jì)算摸出球的各種
顏色搭配。
3.請(qǐng)寫(xiě)下這一節(jié)課你學(xué)習(xí)到的內(nèi)容:格式不限,回憶并復(fù)述是加強(qiáng)記憶的好方
式!
回復(fù)您的答案即可直看參考答案!
測(cè)試題答案:
0.下面的循環(huán)會(huì)打印多少次,LoveFishC"?
1.foriinrange。10,2):
2.printflLoveFishC)
復(fù)制代碼
次,因?yàn)閺拈_(kāi)始,到結(jié)束,步進(jìn)為
501020
1.下面的循環(huán)會(huì)打印多少次"1LoveFishC"?
1.foriin5:
2.print('ILoveFishC)
復(fù)制代碼
會(huì)報(bào)錯(cuò),上節(jié)課的課后習(xí)題我們提到了in是"成員資格運(yùn)算符",而不是像C
語(yǔ)言那樣去使用語(yǔ)法。的更像腳本語(yǔ)言的
forPythonforforeacho
2.回顧一下break和continue在循環(huán)中起到的作用
break語(yǔ)句的作用是終止當(dāng)前循環(huán),跳出循環(huán)體。
continue語(yǔ)句的作用是終止本輪循環(huán)并開(kāi)始下一輪循環(huán)(這里要注意的是:在
開(kāi)始下一輪循環(huán)之前,會(huì)先測(cè)試循環(huán)條件)。
3.請(qǐng)談下你對(duì)列表的理解
嗯,有些知識(shí)點(diǎn)需要自己總結(jié)才能加固,下節(jié)課小甲魚(yú)將跟大家暢談一個(gè)打了激
素的數(shù)組:列表,不容錯(cuò)過(guò)哦人_人
4.請(qǐng)問(wèn)range(lO)生成哪些數(shù)?
會(huì)生成range(0,10),list(range(0,10))轉(zhuǎn)換成列表是:[0,1,2,3,4,5,6,7,8,
9],注意不包含10哦。
5.目測(cè)以下程序會(huì)打印什么?
1.whileTrue:
2.whileTrue:
3.break
4.print(l)
5.print⑵
6.break
7.print⑶
復(fù)制代碼
會(huì)打?。?/p>
2
3
因?yàn)閎reak只能跳出一層循環(huán),記住咯!
6.什么情況下我們要使循環(huán)永遠(yuǎn)為真?
whileTure:
循環(huán)體
同樣用于游戲?qū)崿F(xiàn),因?yàn)橛螒蛑灰\(yùn)行著,就需要時(shí)刻接收用戶(hù)輸入,因此使用
永遠(yuǎn)為真確保游戲"在線"。操作系統(tǒng)也是同樣的道理,時(shí)刻待命,操作系統(tǒng)永
遠(yuǎn)為真的這個(gè)循環(huán)叫做消息循環(huán)。另外,許多通訊服務(wù)器的客戶(hù)端/服務(wù)器系統(tǒng)
也是通過(guò)這樣的原理來(lái)工作的。
所以永遠(yuǎn)為"真"雖然是"死循環(huán)",但不一定是壞事,再說(shuō)了,我們可以隨時(shí)
用break來(lái)跳出循環(huán)!
7.【學(xué)會(huì)提高代碼的效率】你的覺(jué)得以下代碼效率方面怎樣?有沒(méi)有辦法可以
大幅度改進(jìn)(仍然使用while)?
1.i=0
2.string='ILoveFishC.com'
3.whilei<len(string)):
4.print(i)
5.i+=1
復(fù)制代碼
這段代碼之所以"效率比較低"是因?yàn)槊看窝h(huán)都需要調(diào)用一次len()函數(shù)
(我們還沒(méi)有學(xué)到函數(shù)的概念,小甲魚(yú)這里為零基礎(chǔ)的朋友形象的解釋下:就像
你打游戲打得正HIGH的時(shí)候,老媽讓你去買(mǎi)鹽……你有兩種選擇,一次買(mǎi)一包,
一天去買(mǎi)五次,或者一次性買(mǎi)五包回來(lái),老媽要就直接給她。)
1.i=0
2.string='ILoveFishC.com'
3.length=len(string)
4.whilei<length:
5.print(i)
6.i+=1
復(fù)制代碼
小甲魚(yú)希望學(xué)習(xí)咱的課程的朋友不是只為了可以把程序?qū)懗鰜?lái),而是追求把代碼
寫(xiě)好,寫(xiě)漂亮,做一個(gè)有理想、有追求的程序猿!
動(dòng)動(dòng)手答案:
0.設(shè)計(jì)一個(gè)驗(yàn)證用戶(hù)密碼程序,用戶(hù)只有三次機(jī)會(huì)輸入錯(cuò)誤,不過(guò)如果用戶(hù)輸
入的內(nèi)容中包含“*"則不計(jì)算在內(nèi)。
1.count=3
2.password=TishC.com'
3.
4.whilecount:
5.passwd=input('請(qǐng)輸入密碼:’)
6.ifpasswd==password:
7.print('密碼正確,進(jìn)入程序,)
8.break
9.elif"inpasswd:
10.print('密碼中不能含有“*”號(hào)!您
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鄂爾多斯道路運(yùn)輸貨運(yùn)從業(yè)資格證模擬考試題庫(kù)
- 大連民族大學(xué)《乳液聚合》2023-2024學(xué)年第二學(xué)期期末試卷
- 渤海石油職業(yè)學(xué)院《新媒體用戶(hù)研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年果洛貨運(yùn)從業(yè)資格證繼續(xù)教育考試題
- 2025年市政園林養(yǎng)護(hù)裝備合作協(xié)議書(shū)
- 中級(jí)經(jīng)濟(jì)師金融專(zhuān)業(yè)-中級(jí)經(jīng)濟(jì)師考試金融專(zhuān)業(yè)實(shí)務(wù)模擬試卷8
- 2025至2030年中國(guó)噴淋冷卻殺菌清洗機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 江蘇省揚(yáng)州市2018年中考化學(xué)試題
- 收費(fèi)站員工(黨員)專(zhuān)項(xiàng)測(cè)試題有答案
- 熱電廠題庫(kù)1專(zhuān)項(xiàng)測(cè)試題及答案
- 復(fù)旦中華傳統(tǒng)體育課程講義05木蘭拳基本技術(shù)
- GB/T 13234-2018用能單位節(jié)能量計(jì)算方法
- (課件)肝性腦病
- 北師大版五年級(jí)上冊(cè)數(shù)學(xué)教學(xué)課件第5課時(shí) 人民幣兌換
- 工程回訪記錄單
- 住房公積金投訴申請(qǐng)書(shū)
- 高考物理二輪專(zhuān)題課件:“配速法”解決擺線問(wèn)題
- 檢驗(yàn)科生物安全風(fēng)險(xiǎn)評(píng)估報(bào)告
- 京頤得移動(dòng)門(mén)診產(chǎn)品輸液
- 如何做一名合格的帶教老師PPT精選文檔
- ISO9001-14001-2015內(nèi)部審核檢查表
評(píng)論
0/150
提交評(píng)論