<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          新教材習題解析之python循環(huán)結(jié)構(gòu)(2)

          共 1954字,需瀏覽 4分鐘

           ·

          2021-06-27 02:49

          說在前面

          下學期開始,絕大多數(shù)學校就要開始上新教材內(nèi)容了,必修一《數(shù)據(jù)與計算》的主要內(nèi)容是Python語言學習。新教材的理念是編程教學不應該只教語法,更重要的是教學生如何解決問題,如何使用計算機編程解決實際問題。所以命題的思路不應該是摳語法,應盡量避免考查語法細節(jié),要把重點放在數(shù)學建模和解決問題上面。

          受《新時代領航技術同步用書》編委會的邀請,我也嘗試著編制了一些題目,盡可能按照新課標的要求,力求能夠激發(fā)學生思考和考查學生的計算思維。

          上次已經(jīng)和大家分享了2道關于Python循環(huán)結(jié)構(gòu)的開放性題目,由于循環(huán)結(jié)構(gòu)是編程教學的一個難點,必須多加練習才能掌握,所以今天繼續(xù)和大家分享2道相同類型的題目。

          由于新教材是塊新大陸,我們都是在摸索前行,加之本人水平有限,在描述題目用語和控制題目難度方面都存在不足,敬請大家批評指正。



          例6.(開放題)李白買酒。李白街上走,提壺去買酒。遇店加一倍,見花喝一斗。店不相鄰開,花不成雙長。三遇店和花,喝光壺中酒。請問此壺中,原有多少酒?

          (1)“店不相鄰開,花不成雙長”是什么意思?

          (2)李白喝酒和買酒有什么規(guī)律?這個規(guī)律重復了幾次?

          (3)要計算酒壺中原有多少酒,可以從后向前倒推,利用重復的規(guī)律推導出原有酒的數(shù)量,你打算使用哪種算法結(jié)構(gòu)來編程實現(xiàn)上述功能?請寫出具體的代碼,并添加必要的注釋。



          解析:(1)“店不相鄰開,花不成雙長”的意思是不會連續(xù)的經(jīng)過酒店和花,即不會連續(xù)的添酒和喝酒。

          (2)李白喝酒的規(guī)律是“遇店加一倍,見花喝一斗”,這個規(guī)律重復了3次。

          (3)要計算酒壺中原有多少酒,可以從后向前倒推,最后喝完為0,往前遇到鮮花加1斗,再往前遇到酒店減為一半。如此操作三次之后,得到的數(shù)字即為初始狀態(tài)時酒的數(shù)量。可以使用循環(huán)結(jié)構(gòu)來實現(xiàn)算法功能,參考代碼如下:

          a = 0 #存儲酒的數(shù)量,喝完時為0

          #從后向前倒推原有酒的數(shù)量

          for i in range(3):

              a += 1 #見花喝一斗

              a /= 2 #遇店加一倍

          print(a) #輸出原有酒的數(shù)量


          拓展思考:

          8.(開放題)廈門鼓浪嶼有一副很有趣的對聯(lián):霧鎖山頭山鎖霧;天連水尾水連天。它叫回文聯(lián),既可順讀,也可倒讀,頗具趣味,是我國的重要傳統(tǒng)文化之一。我們可以從鍵盤輸入一個字符串s,然后編寫程序判斷其是否為回文字符串。

          判斷字符串s是否為回文字符串,最簡單的方法是比較一下順序和逆序字符串是否相等,即判斷ss[::-1]是否相等。除此之外,我們也可以利用循環(huán)語句,遍歷字符串逐個比較左右兩端的字符是否相等。下面的程序?qū)崿F(xiàn)了前述功能,請將缺失的代碼補充完整,并思考是否有其他方法來判斷回文字符串。

          s = input('請輸入一個字符串:')

          L, R = 0, len(s) - 1

          while ①             :

               if s[L] != s[R]:

                   print(s, '不是回文字符串')

                   ②            

               L, R = ③               

          else:

              print(s, '是回文字符串')

          需要本文word版和拓展思考答案的,可以加入“Python算法之旅”知識星球參與討論和下載文件,Python算法之旅”知識星球匯集了數(shù)量眾多的同好,更多有趣的話題在這里討論,更多有用的資料在這里分享。

          我們專注Python算法,感興趣就一起來!

          相關優(yōu)秀文章:

          閱讀代碼和寫更好的代碼

          最有效的學習方式

          函數(shù)與模塊典型例題

          字符串專題之中文大寫金額數(shù)字轉(zhuǎn)換工具

          新教材習題解析之python循環(huán)結(jié)構(gòu)

          瀏覽 185
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产性生活视频 | 亚洲欧美中文字幕 | 国产欧美一区二区三区精品酒店 | 国产春药一区二区三区 | 夜夜草视频 |