測(cè)試題:
0. 請(qǐng)問(wèn)以下代碼會(huì)打印多少次“我愛(ài)魚C堂淡!”
?1.?while 'C':
?2.?? ? print('我愛(ài)魚C!')
答:會(huì)打印無(wú)限次,因?yàn)闂l件永遠(yuǎn)為真亏栈,按CRTL+C退出正在執(zhí)行的程序
1. 請(qǐng)問(wèn)以下代碼會(huì)打印多少次“我愛(ài)魚C岳颇!”
?1.?i = 10
?2.?while i:
?3.?? ? print('我愛(ài)魚C!')
?4.?? ? i = i - 1
答:
10次氧骤,在Python中颅崩,None几于、任何數(shù)值類型中的0、空字符串“”沿后、空元組()沿彭、空列表[]、空字典{}都被當(dāng)作False尖滚,還有自定義類型喉刘,如果實(shí)現(xiàn)了 __ nonzero __ () 或 __ len __ ()方法且方法返回0或False,則其實(shí)例也被當(dāng)作False漆弄,其他對(duì)象均為True睦裳。
2. 請(qǐng)寫出與 10 < cost < 50 等價(jià)的表達(dá)式
(cost>10) and (cost<50)
3. Python3 中,一行可以書寫多個(gè)語(yǔ)句嗎撼唾?
可以的廉邑,但是需要用分好分隔開,逗號(hào)會(huì)報(bào)錯(cuò)
4. Python3 中券坞,一個(gè)語(yǔ)句可以分成多行書寫嗎?
?
如:
1.>>> print('i love \
you ')
>>> i love you
2.>>> ( 4>3
and 5>4 )
>>> true
可以的肺素,但是要挨個(gè)輸出恨锚,不能先把一堆小括號(hào)和一堆引號(hào)打出來(lái)
5. 請(qǐng)問(wèn)Python的and操作符 和C語(yǔ)言的&&操作符 有何不同?【該題針對(duì)有C或C++基礎(chǔ)的朋友】
C++PYTHON
同為真true返回的是and 后面的值或者字符串
同為假false則返回的是and前的值或者字符串
一個(gè)真一個(gè)假false返回的是表示“假”的值或者字符串
6. 聽(tīng)說(shuō)過(guò)“短路邏輯(short-circuit logic)”嗎倍靡?
python里0為假false猴伶,1為真true? ?
只有在需要求值時(shí)才進(jìn)行求值。舉例來(lái)說(shuō),表達(dá)式x and y需要兩個(gè)變量都為真時(shí)才為真他挎,所以如果x 為假筝尾,表
達(dá)式就會(huì)立刻返回false,而不管y的值(事實(shí)上各個(gè)語(yǔ)言都有這個(gè)特性)办桨。實(shí)際上筹淫,如果x 為假,表達(dá)式會(huì)返回x 得
值—-否則它就返回y的值呢撞。這種行為被稱為短路邏輯(short-circuit logic)或惰性求值(laz y evaluaion):布爾運(yùn)
算符通常被稱為邏輯運(yùn)算符损姜,就像你看到的那樣第2個(gè)值有時(shí)“被短路了”。這種行為對(duì)于or來(lái)說(shuō)也同樣適用殊霞。在表達(dá)
式x or y中摧阅,x 為真時(shí),它直接返回x 的值绷蹲,否則返回y值棒卷。注意,這意味著在布爾運(yùn)算符之后的所有代碼都不會(huì)執(zhí)
行祝钢。
這種行為被稱為短路邏輯(short-circuit logic)或者惰性求值(laz y evaluation),實(shí)際上比规,Python 的做法是如果 x
為假,表達(dá)式會(huì)返回 x 的值(0)太颤,否則它就會(huì)返回 y 的值(例子參考樓上那題)苞俘。
動(dòng)動(dòng)手:
0. 完善第二個(gè)改進(jìn)要求(為用戶提供三次機(jī)會(huì)嘗試,機(jī)會(huì)用完或者用戶猜中答案均退出循環(huán))并改進(jìn)視頻中小甲魚的代碼龄章。
改進(jìn)成功~~自己寫的哦~~超開心~第一次體會(huì)到自己寫代碼的成就感~~~