小儿无赖 发表于 2023-8-1 18:04:10

各位大佬可以帮我修改一下这个代码吗? 新手还不怎么会这个。

本帖最后由 小儿无赖 于 2023-8-1 18:07 编辑

问题在于把x变成列表之后,中间的逗号也成为了列表的元素,但是不知道怎么修改,还有最后的print的位置似乎还有点问题,请大佬们娇娇孩子,感激不尽!!!(代码在图片里哦)

"""获取列表中出现次数最多的元素"""

while True:
    x = input("请输入一个列表(输入STOP停止):")
    if x == "STOP":
      break
    else:
      x = list(x)
      mode = x
      count = 0
      for i in x:
            if count == 0:
                major = i
            if i == major:
                count += 1
            else:
                count -= 1
      print("此列表出现最多的元素是:", major)

isdkz 发表于 2023-8-1 18:04:16

当然可以帮您解决问题!不过很抱歉,我无法查看图片,但如果您能提供代码的文本版本,我将非常乐意帮您修改。请复制粘贴代码文本,然后告诉我具体问题所在,我会尽力解答您的疑惑。

陶远航 发表于 2023-8-1 18:09:03

根据您提供的描述,我注意到您修改列表的方式是将用户输入的字符串直接转换为列表,这样会将逗号也作为列表的元素之一。为了解决这个问题,可以考虑使用split()函数来将输入的字符串按照逗号进行分割,从而得到正确的列表。

另外,您的代码中存在一些缩进错误和逻辑错误。下面是经过修改后的代码示例:

# 获取列表中出现次数最多的元素
while True:
    x = input("请输入一个列表(输入STOP停止): ")
    if x == "STOP":
      break
    else:
      x = x.split(",")# 将输入的字符串按逗号分隔成列表
      mode = x
      count = 0
      for i in x:
            if count == 0:
                major = i
                count += 1
            else:
                if i == major:
                  count += 1
                else:
                  count -= 1
      print("此列表出现最多的元素是:", major)


请注意,这只是根据您提供的文字描述进行的修改,可能与您实际的代码有所不同。如果您在运行代码时遇到任何错误或问题,请提供详细的错误信息和所期望的结果,以便我进一步帮助您解决。
如果问题已经解决,请设置最佳答案

小儿无赖 发表于 2023-8-1 18:13:58

感谢

小儿无赖 发表于 2023-8-1 18:14:13

陶远航 发表于 2023-8-1 18:11
卧槽我脚本挂服务器抽风了!!!救救我!!!

啊这
页: [1]
查看完整版本: 各位大佬可以帮我修改一下这个代码吗? 新手还不怎么会这个。