国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

過招守護(hù)使

2018-06-30 06:27王麗麗
中國信息技術(shù)教育 2018年10期
關(guān)鍵詞:寶箱號碼語句

王麗麗

在正確繪制圖騰圖案后,山門打開。阿派心中竊喜。難道進(jìn)入失落的世界,就這么容易?阿派正想入內(nèi),卻發(fā)現(xiàn)門后還有一位守護(hù)使。這位守護(hù)使并非兇神惡煞,看了看他,說道:“守了大半輩子,終于有人陪我玩一回尋寶游戲啦!”只見他擺出十個(gè)寶箱,說道:“上有1到10的編號,只有一個(gè)寶箱中藏有寶物,猜中者方可踏入神秘世界?!?/p>

:這節(jié)課的設(shè)計(jì)靈感來源于計(jì)算機(jī)經(jīng)典案例“猜數(shù)字”小游戲。教師通過在Python中編程實(shí)現(xiàn)游戲效果,掌握循環(huán)和分支結(jié)構(gòu)。在教學(xué)設(shè)計(jì)時(shí),教師要考慮學(xué)情,由易到難,分為三種難度的任務(wù):猜一次、不限次數(shù)猜、限定次數(shù)猜。

初級難度:猜一次

1.問題分析

首先,從阿派(游戲者)的角度,梳理初級難度的游戲過程(如下頁圖1)。

其次,將游戲過程對應(yīng)IPO模式(如下頁圖1)。

I(Input):程序的輸入,包括用戶手工輸入、程序內(nèi)部參數(shù)輸入等。

P(Process):程序的主要邏輯處理,對輸入的數(shù)據(jù)進(jìn)行處理并產(chǎn)生結(jié)果。

O(Output):程序的輸出,包括屏幕顯示輸出、文件輸出等。

:對七年級學(xué)生而言,如何將自然語言轉(zhuǎn)換為程序語言是一個(gè)難點(diǎn)。教師可以使用流程圖、偽代碼等形式,幫助學(xué)生分析問題,梳理邏輯。此外,掌握程序設(shè)計(jì)的基本方法,理解IPO模式,有助于學(xué)生日后分析和解決更復(fù)雜的問題。

2.Python實(shí)現(xiàn)

本例的程序輸入環(huán)節(jié),守護(hù)使需要事先將寶物藏匿于某個(gè)寶箱中,即事先確定一個(gè)寶箱號碼為正確答案,而這個(gè)號碼實(shí)際上是由計(jì)算機(jī)自動生成的。為了游戲的可玩性,筆者利用random.randint(1,10)產(chǎn)生1到10的隨機(jī)數(shù),模擬游戲開始時(shí)寶物隨機(jī)放置在某個(gè)寶箱中的效果。接著,利用input()函數(shù)提示并允許阿派猜數(shù),再利用int()函數(shù)將其轉(zhuǎn)換為整型,便于程序處理環(huán)節(jié)的條件判斷。

在初級難度游戲設(shè)計(jì)中,阿派只猜一次,守護(hù)使立刻給出反饋,提示號碼猜大了,或猜小了,或正確。利用if條件語句,將阿派猜的號碼(guess)與正確的寶箱號(number)作比較,即可實(shí)現(xiàn)這樣的效果,具體的代碼如圖2所示。

:random是Python的常用模塊。該模塊中有幾個(gè)常用的函數(shù),如randint(產(chǎn)生隨機(jī)數(shù))、choice(從序列中返回一個(gè)隨機(jī)元素)、shuffle(將序列中的元素隨機(jī)排序)等,random模塊的導(dǎo)入方法和turtle一樣。在本例中,為了便于學(xué)生理解邏輯,筆者將條件判斷分為三種情況(太大、太小、正確),并利用三條if語句實(shí)現(xiàn)判斷。

中級難度:不限次數(shù)猜

1.問題分析

只猜一次,很難猜中,那就試一試不限次數(shù),直至猜中。如圖3所示,主要邏輯是這樣的:首先,阿派猜一個(gè)號碼,當(dāng)號碼不正確時(shí),即guess≠number時(shí),守護(hù)使提示太大或太小,并允許再猜,直至猜中為止。如果一次猜中,則跳過循環(huán),直接提示正確,其中的“提示太大或太小”,可以利用分支語句來實(shí)現(xiàn)(如下頁圖4)。

2.Python實(shí)現(xiàn)

圖3中重復(fù)猜數(shù)的過程,可以利用while語句來實(shí)現(xiàn),只要條件滿足,就不斷循環(huán),直到條件不滿足時(shí)退出循環(huán)。其中的“提示太大或太小”,可以利用if...else來實(shí)現(xiàn)(如下頁圖5),程序運(yùn)行效果如下頁圖6。

:Python是通過代碼的縮進(jìn)來決定內(nèi)在邏輯的,用4個(gè)空格表示語句塊的縮進(jìn)??崭竦亩嗷蛏?,都可能導(dǎo)致程序的運(yùn)行錯(cuò)誤。在Pycharm編輯器中,可以按Tab進(jìn)行縮進(jìn),按Tab+Shift去除縮進(jìn)。

高級難度:限定次數(shù)猜

1.問題分析

不限次數(shù)的猜數(shù),顯然不符合闖關(guān)的難度要求。那么,假定阿派只有3次機(jī)會來選寶箱。若3次都猜不對,則游戲結(jié)束;若3次內(nèi)猜中,則直接跳出循環(huán),游戲結(jié)束。

2.Python實(shí)現(xiàn)

利用for循環(huán)和range( )內(nèi)建函數(shù),可以指定循環(huán)次數(shù)。range( )函數(shù)返回的結(jié)果是一個(gè)整數(shù)序列的對象,其語法為range(start, stop[, step]),默認(rèn)start為0,step為1。如圖下頁7所示,range(3)表示i依次為0、1、2,一共循環(huán)3次。在本例中,判斷條件有三種情況(猜中、猜大了、猜小了)。像這種多個(gè)條件的判斷,可以用elif來實(shí)現(xiàn)。

:由于Python并不支持switch語句,所以在多個(gè)條件判斷時(shí),可以用多個(gè)elif來實(shí)現(xiàn)。另外,在Python語言中,還有for...else結(jié)構(gòu),else中的語句會在循環(huán)正常執(zhí)行完成后,再執(zhí)行,while...else也一樣。這也體現(xiàn)了Python語言的靈活性。

猜數(shù)訣竅:二分查找法

有沒有什么方法,可以快速猜中正確的寶箱號碼呢?可以利用二分查找法,每次將查找范圍縮小一半,快速查找到正確的號碼。如上表,先取1~10的中間數(shù),大約為5。根據(jù)“小了”的提示,再從新范圍6~10中再取中間數(shù)。重復(fù)以上步驟,不斷縮小查找范圍,直到找到正確的寶箱號碼。

利用二分查找法,最多4次定能猜中寶箱號碼。因?yàn)?0個(gè)寶箱,范圍在23<10<24之間,最大查找次數(shù)為log2n+1。同理可知,如果有100個(gè)寶箱,利用二分法,最多7次可以找到正確的寶箱。

:二分查找法是基本算法之一,其中心思想是分治,適用于在一個(gè)有序數(shù)組中尋找特定的數(shù),在實(shí)際項(xiàng)目中應(yīng)用很多。初中學(xué)生可以通過尋寶小游戲初步了解二分法的思想。

拓展練習(xí)

在《過招守護(hù)使》這一課中,主要學(xué)習(xí)了循環(huán)和分支,接觸了while語句、for語句、if語句。針對學(xué)有余力的學(xué)生,教師不妨提供一些拓展練習(xí),利用循環(huán)和分支來解決一些生活小問題,如BMI身體質(zhì)量指數(shù)的計(jì)算、乘法口訣法,或結(jié)合之前所學(xué)的海龜模塊進(jìn)行圖形化設(shè)計(jì)等。

猜你喜歡
寶箱號碼語句
寶箱
關(guān)于華為軟交換號碼甄別的一些認(rèn)識
寶箱3
寶箱1
基本算法語句
我喜歡
月光寶箱
我愛我班之錯(cuò)誤號碼
作文語句實(shí)錄
越西县| 文水县| 余干县| 旺苍县| 芦溪县| 万山特区| 崇仁县| 高雄县| 方正县| 菏泽市| 神农架林区| 临海市| 蚌埠市| 齐河县| 桑植县| 新野县| 山东省| 通榆县| 苏州市| 平陆县| 澄迈县| 浦东新区| 时尚| 获嘉县| 襄汾县| 丘北县| 枣庄市| 乐都县| 临湘市| 南涧| 沁水县| 胶南市| 邓州市| 彭山县| 平安县| 商都县| 灌云县| 延寿县| 麻阳| 同心县| 桂平市|