You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对6元素列表拆分的两半分别求和,修复相关Python代码错误?

代码问题分析

  • range() 只能接收整数类型参数,原代码直接传入half1、half2两个列表变量,是触发报错的直接原因
  • 两个求和函数的参数设计冗余,函数内部直接覆盖了传入的参数值,外部传入的内容根本没有被用到
  • 调用求和函数时错误传入了完整的ticket_list,而不是拆分好的half1、half2,逻辑不匹配
  • 不需要额外对遍历的元素做int()转换,生成ticket_list时已经完成了类型转换

修复代码

按要求用range()实现的版本

ticket = int(input("Input your ticket : ")) # 输入票号
ticket_list = [int(i) for i in str(ticket)] # 转成数字列表
length = len(ticket_list)
mid = length//2
half1 = ticket_list[:mid] 
half2 = ticket_list[mid:] # 拆成前后两半

def sum_half(half_list):
  total = 0
  # 用列表长度作为range的参数,遍历索引取对应元素累加
  for i in range(len(half_list)):
    total += half_list[i]
  return total

a = sum_half(half1) 
b = sum_half(half2)
print(a, b)

更简洁的优化版本

直接用Python内置sum()函数完成求和,不需要自定义遍历逻辑:

ticket = input("Input your ticket : ")
ticket_list = [int(i) for i in ticket]
mid = len(ticket_list)//2
a = sum(ticket_list[:mid])
b = sum(ticket_list[mid:])
print(a, b)

内容的提问来源于stack exchange,提问作者Blitzisbadatprogramming

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:06:02