[問題] 剛接觸python遇到練習題想不出解法,挫折

看板Python作者 (海海海)時間4年前 (2020/05/21 18:32), 4年前編輯推噓21(21048)
留言69則, 16人參與, 4年前最新討論串1/2 (看更多)
最近想學習 python 找到了中央大學數學系網路上提供的教材。 目前練習到第二章,只教到了 for if else 這些,沒有陣列, 但第二章第一個練習題就卡關了。 http://www.python.math.ncu.edu.tw/exercise/chapter/2 題目:找出三位數的數字和為 10 且數字都不同的所有三位數, 例如:325、910,驗證共有 40 個數。 我只能讓他知道哪些數字加起來是 10,但無法去除重複的, 沒有陣列我要怎麼記住哪些數字有重複到阿?? 話說大家都會把所有練習題給完成嗎?第一章我做了 10 題就受不了了, 都是在要你想辦法畫圖,整個令人很不耐煩,還是說這是數學系的關係? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.210.216 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1590057130.A.075.html ※ 編輯: s9209122222 (114.35.210.216 臺灣), 05/21/2020 18:35:54

05/21 18:36, 4年前 , 1F
有比這個更好用的中文免費教材嗎?
05/21 18:36, 1F

05/21 18:57, 4年前 , 2F
提供給原PO參考:
05/21 18:57, 2F

05/21 18:57, 4年前 , 3F

05/21 18:58, 4年前 , 4F
中文有一個youtube頻道 彭彭python簡介 入門滿適合
05/21 18:58, 4F

05/21 18:59, 4年前 , 5F
英文的話 MIT 和 Michigan 大學都有網路公開課
05/21 18:59, 5F

05/21 19:00, 4年前 , 6F
感謝,那麼這題呢?解不出心裡有個疙瘩在
05/21 19:00, 6F

05/21 19:00, 4年前 , 7F
在上面連結裡,你可以run看看
05/21 19:00, 7F

05/21 19:00, 4年前 , 8F
喔,你貼了,感謝
05/21 19:00, 8F

05/21 19:01, 4年前 , 9F
晚點用電腦看看,手機看不到全畫面
05/21 19:01, 9F

05/21 19:03, 4年前 , 10F
話說練習十題才發現有 pycharm 可以用,之前一直從 t
05/21 19:03, 10F

05/21 19:03, 4年前 , 11F
erminal 慢慢執行……
05/21 19:03, 11F

05/21 19:31, 4年前 , 12F
因為全部都是三位數數字,所以你可以拿3個變數來代表各
05/21 19:31, 12F

05/21 19:31, 4年前 , 13F
個位數的數字,再去做判斷
05/21 19:31, 13F

05/21 19:31, 4年前 , 14F
:)
05/21 19:31, 14F

05/21 19:31, 4年前 , 15F
用kaggle的python教程先過個水,6個小單元
05/21 19:31, 15F

05/21 19:36, 4年前 , 16F
畫圖的適量就好。刁鑽的複雜圖型不是很重要。
05/21 19:36, 16F

05/21 19:38, 4年前 , 17F
幫補kaggle 連結:
05/21 19:38, 17F

05/21 19:38, 4年前 , 18F

05/21 19:50, 4年前 , 19F
像是後有有一題畫大象那個就可略過
05/21 19:50, 19F

05/21 20:20, 4年前 , 20F
這範例有點太進階了啦!
05/21 20:20, 20F

05/21 20:22, 4年前 , 21F
而且好像也有用到陣列,但他那個練習題都還沒提到
05/21 20:22, 21F

05/21 21:18, 4年前 , 22F
這題不見得要用陣列吧,最簡單的做法就100-999窮舉,把合
05/21 21:18, 22F

05/21 21:18, 4年前 , 23F
格的印出來,順便加總一下個數最後引出來就好,合格的判定
05/21 21:18, 23F

05/21 21:18, 4年前 , 24F
應該也只需要除法跟if/else就夠了
05/21 21:18, 24F

05/21 21:19, 4年前 , 25F
喜歡loop的人也可以三層loop直接把答案都轉出來
05/21 21:19, 25F

05/21 21:20, 4年前 , 26F
最簡單就是跑三個迴圈?判斷三數不相等時相加是否等於1
05/21 21:20, 26F

05/21 21:20, 4年前 , 27F
0
05/21 21:20, 27F

05/21 21:53, 4年前 , 28F
05/21 21:53, 28F

05/21 22:08, 4年前 , 29F
不會覺得不耐煩啊 不要小看畫這些莫名的圖形,程式邏輯都在
05/21 22:08, 29F

05/21 22:08, 4年前 , 30F
裡頭,加油!
05/21 22:08, 30F

05/21 22:25, 4年前 , 31F
加油,參考解法 https://onlinegdb.com/HyrO0ZEsI
05/21 22:25, 31F

05/21 23:33, 4年前 , 32F
不是 26 樓說的這麼簡單啊,還有三個數不能重複的條
05/21 23:33, 32F

05/21 23:33, 4年前 , 33F
05/21 23:33, 33F

05/21 23:57, 4年前 , 34F
28 樓的最看得懂,不過還是有用到陣列的東西,python
05/21 23:57, 34F

05/21 23:57, 4年前 , 35F
好像叫串列?
05/21 23:57, 35F

05/21 23:59, 4年前 , 36F
不過看了一下應該可以用減的得到我要的數字,但 if
05/21 23:59, 36F

05/21 23:59, 4年前 , 37F
內會變很長……
05/21 23:59, 37F

05/22 00:00, 4年前 , 38F
等等,結果不對呀,有109又有901
05/22 00:00, 38F

05/22 00:00, 4年前 , 39F
還有 910
05/22 00:00, 39F

05/22 00:01, 4年前 , 40F
這個時候就該去睡覺,明天你就會覺得昨天的我是中邪了嗎?
05/22 00:01, 40F

05/22 00:04, 4年前 , 41F
31 樓的沒東西
05/22 00:04, 41F

05/22 00:05, 4年前 , 42F
二樓的其實也是同結果
05/22 00:05, 42F

05/22 00:05, 4年前 , 43F
還是我會錯意?
05/22 00:05, 43F

05/22 00:07, 4年前 , 44F
看來只要每次三個數字不一樣就好,不用完全不和前面
05/22 00:07, 44F

05/22 00:07, 4年前 , 45F
幾次重複
05/22 00:07, 45F

05/22 00:08, 4年前 , 46F
又要上 12 小時的班了,吃東西睡覺去
05/22 00:08, 46F

05/22 00:09, 4年前 , 47F
每次3個數字不同就好。不用和之前和之後的比較。
05/22 00:09, 47F

05/22 00:11, 4年前 , 48F
原本的題目最後說 "驗證總共有40個數"
05/22 00:11, 48F

05/22 00:12, 4年前 , 49F
原來這麼簡單……,我複雜化題目
05/22 00:12, 49F

05/23 10:52, 4年前 , 50F
有其他人去寫這題嗎? 為什麼我跑出來的結果是 44 個數?
05/23 10:52, 50F

05/23 11:15, 4年前 , 51F
我的判斷條件有誤,是 40 個沒錯
05/23 11:15, 51F

05/23 12:16, 4年前 , 52F
我算40
05/23 12:16, 52F

05/23 16:59, 4年前 , 53F
我用hard code寫法 三個迴圈 40個沒錯
05/23 16:59, 53F

05/23 17:04, 4年前 , 54F
請教一下f大的解法 我按run怎麼沒有output@@
05/23 17:04, 54F

05/23 17:06, 4年前 , 55F
按fork this,補一行 print( result ) 就會有了
05/23 17:06, 55F

05/23 22:59, 4年前 , 56F
感謝樓上回答
05/23 22:59, 56F

05/23 23:01, 4年前 , 57F
: )
05/23 23:01, 57F

05/24 05:35, 4年前 , 58F
05/24 05:35, 58F

05/24 12:59, 4年前 , 59F
那不是陣列嗎?那個陣列符號?
05/24 12:59, 59F

05/24 13:00, 4年前 , 60F
話說我照做會失敗,這是我自己做出來的方法
05/24 13:00, 60F

05/24 13:00, 4年前 , 61F

05/24 13:25, 4年前 , 62F
恭喜
05/24 13:25, 62F

05/24 13:25, 4年前 , 63F
那個是 list comprehension, python實用語法之一
05/24 13:25, 63F

05/24 13:26, 4年前 , 64F
comprehension 介紹: https://bit.ly/2LWE9rL
05/24 13:26, 64F

05/24 14:27, 4年前 , 65F
沒錯 那是comprehension語法 可以讓程式簡潔一點
05/24 14:27, 65F

05/30 08:29, 4年前 , 66F
這題的目的是練習用巢狀迴圈 所以用前面大大說的三層
05/30 08:29, 66F

05/30 08:29, 4年前 , 67F
迴圈就可以解決了 三層分別是百位數、十位數、個位數
05/30 08:29, 67F

05/31 15:09, 4年前 , 68F
直接轉成set 就能去除重複吧?
05/31 15:09, 68F

05/31 21:06, 4年前 , 69F
不重複反而簡單 i=0~9 , j=i+1~9, k=j+1~9
05/31 21:06, 69F
文章代碼(AID): #1UnbYg1r (Python)
文章代碼(AID): #1UnbYg1r (Python)