Python 板


LINE

各位大大安安 小弟正在自学python (https://tinyurl.com/yu9nfd6f ) 回圈实在弄得我头痛QQ 有个题目如下: 寻找众数 numbers_str 是一个使用者输入的以逗号分隔数字的字串。 从 numbers_str 中找到众数(最常见的数字)并显示出: 众数是{众数} 提示 1 使用 split() 方法把一个以逗号分隔数字的字串转换成一个串列。 提示 2 尝试创造一个字典,其中每个键是串列中的一个数字,而值是该数字出现在串列中的次数 。 例如,如果串列是[10, 20, 10, 30],我们要创造以下字典: { 10: 2, 20: 1, 30: 1 } 解答如下: numbers_str = input('请输入以逗号分隔的一串数字: ') #这是题目已经预设的 numbers = numbers_str.split(',') # occurrences 储存一个数字出现的次数 occurrences = {} for n in numbers: if n in occurrences: occurrences[n.strip()] += 1 else: occurrences[n.strip()] = 1 # mode 是目前最常出现的数字 mode = -1 # mode_count 是 mode 出现的次数 mode_count = 0 for n, count in occurrences.items(): if mode_count == 0 or mode_count < count: mode = n mode_count = count print(f'众数是{mode}') 解答到上半部的for都还看得懂 下半部就不懂为什麽要把mode=-1 if的 mode_count < count这个部分也还可以 mode_count == 0 就不懂了 然後我尝试跑了他的解答 发现答案好像不是完整的众数 例如我如果输入的是: 7,7,1,1,8 答案只会出现7 而没有办法显示全部的答案 不太确定是我的问题还是题目没有出好@@ 再拜托各位大大帮忙解答 感谢 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.235.193.17 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1647861101.A.615.html ※ 编辑: i329 (36.235.193.17 台湾), 03/21/2022 19:13:42 ※ 编辑: i329 (36.235.193.17 台湾), 03/21/2022 19:14:36
1F:推 DaOppaiLoli: 题目定义不够严谨,没有说要把次数一样的都印出来, 03/21 19:20
请教一般要找众数有其他的方法吗?
2F:→ DaOppaiLoli: mode 设成 -1 应该是假设数列都是正数 03/21 19:20
3F:→ f416720001: mode -1是因为他已经先把-1列为不可能出现的数,所以 03/21 19:41
4F:→ f416720001: 以它为初始值 03/21 19:41
我刚刚试了 [-1,7,-9,11,-1,3,6,7] 是可以找出-1的 @@ 所以好像没有限制一定要正数? 然後想问一下mode_count == 0的用意 感谢 ※ 编辑: i329 (36.235.193.17 台湾), 03/21/2022 20:42:23
5F:推 and629: -1 & 0 都是初始化。只要 count > 0 代表新的众数出现,就 03/21 21:34
6F:→ and629: 把旧的 key取代掉 03/21 21:34
感谢大大回应 请问初始化的话是不是设定任意数都可以呢? 另外不明白已经设定mode_count = 0 那跟後面的mode_count == 0有关系吗 这个又是什麽意思呢? ※ 编辑: i329 (36.235.193.17 台湾), 03/21/2022 22:33:07
7F:推 poototo: 造出来的字典你知道长甚麽样子之後 03/21 22:55
8F:→ poototo: 你不一定要用解答的方式造 03/21 22:55
9F:→ poototo: -1,0 你可以换成其他初始值 03/21 22:56
好的
10F:→ stucode: mode_count == 0 的意思是「当目前没有任何众数时,无条 03/21 23:06
11F:→ stucode: 件将目前的 n 当作众数」。在某些情况下这种条件是有必要 03/21 23:06
12F:→ stucode: 的,但以这个题目来说有点多余,因为 count 不可能小於 1 03/21 23:06
13F:→ stucode: ,所以第一次进入回圈 mode_count < count 一定会成立。 03/21 23:06
14F:→ stucode: code 的部份 mode = -1 改成 mode = None 03/21 23:07
15F:→ stucode: 然後 mode_count == 0 去掉,应该就比较好理解 03/21 23:07
我试了一下似乎是可以运行的 感谢 可以请教mode_count == 0在什麽情况下是必要的呢?
16F:推 lycantrope: 初始化并不是任意数都可以... 03/22 09:21
可以请大大讲的详细一点 或是指点方向吗?
17F:推 pshuang: mode = -1 以下在写什麽? 为甚麽不直接根据value排序? 03/22 11:26
可以请大大说说看你的想法吗? ※ 编辑: i329 (36.235.193.17 台湾), 03/22/2022 12:10:56
18F:→ pshuang: 根据value大到小排序 最前面的就是众数啊 03/22 13:06
对欸 好像比较好懂
19F:推 lycantrope: 初始化选不含在你数值范围内的值,例,正整数用-1 03/22 14:39
20F:→ lycantrope: 排序就练不到for-loop 03/22 14:40
21F:→ lycantrope: 例:max(occurrences, key = lambda x:occurrences[x]) 03/22 14:42
原来如此 感谢各位大大解惑 ※ 编辑: i329 (36.235.193.17 台湾), 03/22/2022 18:28:05
22F:推 poototo: 有兴趣可以去看资料结构的排序与搜寻 03/22 23:45
23F:→ poototo: 程式语言的内建方法都是包装过的API 03/22 23:46
好的 我再努力
24F:推 aalexx: 拿纸笔一步一步跟着程式手动执行,把每一步都写下来 03/23 02:27
我遇到一个问题 有些写法看不懂 又没办法打开一个一个看 该怎麽办呢@@ ※ 编辑: i329 (36.235.165.174 台湾), 03/24/2022 22:50:08
25F:→ aalexx: 什麽叫打开一个一个看?你知道问题,你知道别人的答案,你 03/26 16:48
26F:→ aalexx: 还需要什麽? 03/26 16:48
就是有时候看不懂得出的结果怎麽来的 或是为什麽自己写的无法运行 这样 ※ 编辑: i329 (36.235.187.113 台湾), 03/28/2022 23:10:44
27F:→ mantour: 你可以试着用看看可以设定断点或是逐步执行的debug工具 04/02 17:47







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP