鱼C论坛

 找回密码
 立即注册
查看: 947|回复: 14

摩尔投票法的对抗阶段 if count == 0: major = each 这两行代码有必要吗?

[复制链接]
发表于 2024-1-31 18:04:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
nums = [2,2,4,2,3,6,2]
major = nums[0]
for each in nums:
    if each == major:
        count += 1
    else:
        count -=1
    if nums.count(major) > len(nums)/2:
        print("主要元素是:", major)
    else:
        print("不存在主要元素。")

主要元素是: 2
主要元素是: 2
主要元素是: 2
主要元素是: 2
主要元素是: 2
主要元素是: 2
主要元素是: 2
---------------------------------------------------------------------------------------------------

nums = [2,2,4,2,3,6,2]
major = nums[0]
for each in nums:
    if count == 0:
        major = each

    if each == major:
        count += 1
    else:
        count -=1
    if nums.count(major) > len(nums)/2:
        print("主要元素是:", major)
    else:
        print("不存在主要元素。")

        
主要元素是: 2
主要元素是: 2
主要元素是: 2
主要元素是: 2
主要元素是: 2
主要元素是: 2
主要元素是: 2
----------------------------------------------------------------------------------------
两组代码差别在有无
【 if  count == 0:
major = each】这两行代码。发现直接让程序走到 if each == major: 的结果和加上这两行代码的结果是一样的。
那这两行代码的实际意义是什么呢?非它不可吗?

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-1-31 18:05:12 | 显示全部楼层
这两行代码的作用是在投票过程开始时,初始化major变量的值为第一个元素。这样做是为了确保即使在初始阶段,major变量也有一个初始值,从而避免当count为0时陷入无限循环。如果不加上这两行代码,会导致后续的count += 1操作无法执行,从而无法正确统计各个元素的票数。

总而言之,这两行代码的目的是为了确保程序在初始阶段能够正常投票,并不是必不可少的。如果你能够通过其他方式确保投票开始前major变量已经有初始值(比如初始将major设置为nums[0]),那么可以省略这两行代码。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-1 11:35:03 | 显示全部楼层
本帖最后由 zhangchenyvn 于 2024-2-1 11:47 编辑

(我认为)加入这两行使第二段代码更完整一点,逻辑性更强一点,说不上非他不可。但是这两段都是不完整的代码段吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-1 11:36:38 | 显示全部楼层
好家伙,这个小ai太强了,我代码都没读完,他就回答完了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-1 11:44:04 | 显示全部楼层
zhangchenyvn 发表于 2024-2-1 11:35
(我认为)加入这两行使第二段代码更完整一点,逻辑性更强一点,但是这两段都是不完整的代码段吧?

这两段是完整的代码呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-1 11:47:41 | 显示全部楼层
alwonwang 发表于 2024-2-1 11:36
好家伙,这个小ai太强了,我代码都没读完,他就回答完了

但有时候AI的回答也不太容易理解,甚至会有误导

点评

我很赞同!: 5.0
我很赞同!: 5
是的  发表于 2024-2-1 12:03
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-1 15:03:11 | 显示全部楼层
linying002 发表于 2024-2-1 11:47
但有时候AI的回答也不太容易理解,甚至会有误导

话说有没有办法和这个小ai直接进行对话嘞
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-1 16:24:34 | 显示全部楼层
alwonwang 发表于 2024-2-1 15:03
话说有没有办法和这个小ai直接进行对话嘞

@FishC 如何和你对话
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-1 16:24:49 | 显示全部楼层
zhangchenyvn 发表于 2024-02-01 16:24
@FishC 如何和你对话


你好!很高兴有机会和你对话。你可以直接在这里提出你的问题或者需要帮助的内容,我将尽力为你解答。无论是关于编程的问题还是其他方面的疑惑,都欢迎向我提问哦!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-1 16:25:44 | 显示全部楼层
alwonwang 发表于 2024-2-1 15:03
话说有没有办法和这个小ai直接进行对话嘞

要和他对话, 加
@FishC 
就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-1 16:26:09 | 显示全部楼层
zhangchenyvn 发表于 2024-02-01 16:25
要和他对话, 加@FishC 就可以了


哈哈,好的,让我们开始对话吧!
user_input = input("请输入你的问题:")
while user_input != "拜拜":
    if '@FishC' in user_input:
        reply = "你好啊!有什么问题我可以帮到你?"
        print(reply)
    else:
        reply = "对不起,我只会回答带有 @FishC 的问题,请重新提问。"
        print(reply)
    user_input = input("请输入你的问题:")

print("拜拜!期待下次和你聊天。")

这段代码会让用户输入问题,如果用户提及了 "@FishC",那么程序会给出一个友好的回答。如果用户没有提及 "@FishC",那么程序会提示他重新提问。直到用户输入了 "拜拜",对话才会结束。

请记住,这只是一个非常简单的示例,你可以根据自己的需求进行修改和改进。祝你编程愉快!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-1 17:05:43 | 显示全部楼层
zhangchenyvn 发表于 2024-2-1 16:25
要和他对话, 加就可以了

哈哈哈哈,好的好的,谢谢哥!
游客,如果您要查看本帖隐藏内容请回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-1 17:07:07 | 显示全部楼层
我试下用hide+hide艾特他看看他会不会回复:
游客,如果您要查看本帖隐藏内容请回复
[/hide]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-5 15:41:41 | 显示全部楼层
linying002 发表于 2024-2-1 11:44
这两段是完整的代码呀

第二段代码里 count 的声明呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 03:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表