找回密碼
 立即注冊

掃一掃,登錄網站

首頁 少兒編程 查看內容
  • 1478
  • 0

python少兒編程之練習題答案

2019-8-5 22:22


給定一個不超過5位數的正整數,然后你判斷出幾位


上一節課,留下了這道題,其實考的就是多分支結構的知識點

首先要了解解題的思路 一步一步去解 跟做數學題一樣
  1. 這是一個不超過5位數的正整數 那范圍就是1-99999
  2. 那么有一個最簡單的思路
  3. 也就是用這個數去跟不同范圍去比較
  4. 代碼如下

(15)python少兒編程之練習題答案

  • 大家可能腦子 最先想到的也是這個方法 最笨也是最簡單的
  • 先設置一個a值為111
  • 判斷是否小于9 那么就是1位數
  • 如果不小于9 但是小于99 就是2位數
  • 以此類推 就會找到最終的區間 輸出4


  • 上面的方法沒有問題 但是會有一個效率問題,如果給你10位數,你判斷語句是否要寫10次
  • 如果20位呢 是不是要寫20次 那有沒有更好的改進方法呢
  • 其實小時候 我看過一個幸運52的電視節目,是李詠主持的,那個時候比較火,里面有一個節目就是猜價格,這個價格會在1-100塊之間,然后每次你猜一個數字,主持人會告訴你高了或者低了,5次以內猜中價格,這個商品就送給你了!當時他們就會一個比較折中法來玩這個游戲,先出50,大了就出25,基本上很大概率能獲勝。
  • 然后我們回頭看這道題,你會發現,5位數只會落到5個區間,那我們就中間的區間去推算,先比較是不是3位數,然后大了,就去判斷是否是2位數,如果再不是就肯定是1位數了,這樣我們的判斷只要三次就可以了,大大減少了判斷次數,提高了運行效率!

(15)python少兒編程之練習題答案

  • 如圖,代碼量雖然沒減少多少,但是程序運行的效率提高了,不過以后等我們以后學了遞歸和封裝以后,也不需要寫那么多代碼,查找20位的數字也只需要幾個代碼,但是我們要記住這個解題的思路,這才是最重要的!

好了,今天的課就到這里。大家可以自己寫一下,練習一下多分支和分支嵌套的用法!

版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表兒童塾的觀點,兒童塾不承擔任何法律責任。如有侵權請聯系QQ:3178411746進行反饋。
發表評論

請先 注冊/登錄 后參與評論

    回頂部
    《上海滩》