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

如何利用列表推导式优化偶数位整数前后半段数字和判断算法

问题与代码优化

需求:编写算法接收任意偶数位整数输入,判断前n位数字之和是否等于后n位数字之和(n为数字长度的一半,例如输入2130返回True,输入3304返回False)。

初始代码

def ticket(num):
    list_num = [int(x) for x in str(num)] 
    half_length = int(len(list_num)/2)
    for i in range(half_length*2):
        first_half = list_num[0:half_length]
        second_half = list_num[half_length::]
    if sum(first_half) == sum(second_half):
        return True
    else:
        return False

优化后代码

def ticket(num):
    list_num = [int(x) for x in str(num)] 
    half_length = int(len(list_num)/2)
    return sum(list_num[0:half_length]) == sum(list_num[half_length::])

调用示例

调用ticket(1230)会返回True(前两位1+2=3,后两位3+0=3,和相等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 05:05:47