作者s9209122222 (海海海)
看板Python
标题[问题] 刚接触python遇到练习题想不出解法,挫折
时间Thu May 21 18:32:08 2020
最近想学习 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://webptt.com/cn.aspx?n=bbs/Python/M.1590057130.A.075.html
※ 编辑: s9209122222 (114.35.210.216 台湾), 05/21/2020 18:35:54
1F:→ s9209122222: 有比这个更好用的中文免费教材吗? 05/21 18:36
2F:推 cuteSquirrel: 提供给原PO参考: 05/21 18:57
4F:→ cuteSquirrel: 中文有一个youtube频道 彭彭python简介 入门满适合 05/21 18:58
5F:→ cuteSquirrel: 英文的话 MIT 和 Michigan 大学都有网路公开课 05/21 18:59
6F:→ s9209122222: 感谢,那麽这题呢?解不出心里有个疙瘩在 05/21 19:00
7F:→ cuteSquirrel: 在上面连结里,你可以run看看 05/21 19:00
8F:→ s9209122222: 喔,你贴了,感谢 05/21 19:00
9F:→ s9209122222: 晚点用电脑看看,手机看不到全画面 05/21 19:01
10F:→ s9209122222: 话说练习十题才发现有 pycharm 可以用,之前一直从 t 05/21 19:03
11F:→ s9209122222: erminal 慢慢执行…… 05/21 19:03
12F:推 ssdoz2sk: 因为全部都是三位数数字,所以你可以拿3个变数来代表各 05/21 19:31
13F:→ ssdoz2sk: 个位数的数字,再去做判断 05/21 19:31
14F:推 cuteSquirrel: :) 05/21 19:31
15F:推 aidansky0989: 用kaggle的python教程先过个水,6个小单元 05/21 19:31
16F:推 cuteSquirrel: 画图的适量就好。刁钻的复杂图型不是很重要。 05/21 19:36
17F:→ cuteSquirrel: 帮补kaggle 连结: 05/21 19:38
19F:推 cuteSquirrel: 像是後有有一题画大象那个就可略过 05/21 19:50
20F:→ s9209122222: 这范例有点太进阶了啦! 05/21 20:20
21F:→ s9209122222: 而且好像也有用到阵列,但他那个练习题都还没提到 05/21 20:22
22F:→ nevak: 这题不见得要用阵列吧,最简单的做法就100-999穷举,把合 05/21 21:18
23F:→ nevak: 格的印出来,顺便加总一下个数最後引出来就好,合格的判定 05/21 21:18
24F:→ nevak: 应该也只需要除法跟if/else就够了 05/21 21:18
25F:→ nevak: 喜欢loop的人也可以三层loop直接把答案都转出来 05/21 21:19
26F:推 WestMelon: 最简单就是跑三个回圈?判断三数不相等时相加是否等於1 05/21 21:20
27F:→ WestMelon: 0 05/21 21:20
29F:推 yiche: 不会觉得不耐烦啊 不要小看画这些莫名的图形,程式逻辑都在 05/21 22:08
30F:→ yiche: 里头,加油! 05/21 22:08
32F:→ s9209122222: 不是 26 楼说的这麽简单啊,还有三个数不能重复的条 05/21 23:33
33F:→ s9209122222: 件 05/21 23:33
34F:→ s9209122222: 28 楼的最看得懂,不过还是有用到阵列的东西,python 05/21 23:57
35F:→ s9209122222: 好像叫串列? 05/21 23:57
36F:→ s9209122222: 不过看了一下应该可以用减的得到我要的数字,但 if 05/21 23:59
37F:→ s9209122222: 内会变很长…… 05/21 23:59
38F:→ s9209122222: 等等,结果不对呀,有109又有901 05/22 00:00
39F:→ s9209122222: 还有 910 05/22 00:00
40F:→ OrzOGC: 这个时候就该去睡觉,明天你就会觉得昨天的我是中邪了吗? 05/22 00:01
41F:→ s9209122222: 31 楼的没东西 05/22 00:04
42F:→ s9209122222: 二楼的其实也是同结果 05/22 00:05
43F:→ s9209122222: 还是我会错意? 05/22 00:05
44F:→ s9209122222: 看来只要每次三个数字不一样就好,不用完全不和前面 05/22 00:07
45F:→ s9209122222: 几次重复 05/22 00:07
46F:→ s9209122222: 又要上 12 小时的班了,吃东西睡觉去 05/22 00:08
47F:推 cuteSquirrel: 每次3个数字不同就好。不用和之前和之後的比较。 05/22 00:09
48F:→ cuteSquirrel: 原本的题目最後说 "验证总共有40个数" 05/22 00:11
49F:→ s9209122222: 原来这麽简单……,我复杂化题目 05/22 00:12
50F:→ yi24: 有其他人去写这题吗? 为什麽我跑出来的结果是 44 个数? 05/23 10:52
51F:→ yi24: 我的判断条件有误,是 40 个没错 05/23 11:15
52F:→ pmove: 我算40 05/23 12:16
53F:推 wahahahaaa: 我用hard code写法 三个回圈 40个没错 05/23 16:59
54F:推 wahahahaaa: 请教一下f大的解法 我按run怎麽没有output@@ 05/23 17:04
55F:→ cuteSquirrel: 按fork this,补一行 print( result ) 就会有了 05/23 17:06
56F:推 wahahahaaa: 感谢楼上回答 05/23 22:59
57F:→ cuteSquirrel: : ) 05/23 23:01
59F:→ s9209122222: 那不是阵列吗?那个阵列符号? 05/24 12:59
60F:→ s9209122222: 话说我照做会失败,这是我自己做出来的方法 05/24 13:00
62F:推 cuteSquirrel: 恭喜 05/24 13:25
63F:→ cuteSquirrel: 那个是 list comprehension, python实用语法之一 05/24 13:25
65F:推 s0914714: 没错 那是comprehension语法 可以让程式简洁一点 05/24 14:27
66F:推 cocoasheep: 这题的目的是练习用巢状回圈 所以用前面大大说的三层 05/30 08:29
67F:→ cocoasheep: 回圈就可以解决了 三层分别是百位数、十位数、个位数 05/30 08:29
68F:推 velaro: 直接转成set 就能去除重复吧? 05/31 15:09
69F:推 ro9956882: 不重复反而简单 i=0~9 , j=i+1~9, k=j+1~9 05/31 21:06