Python字符串提取正偶数:修正代码输出异常问题
问题分析与代码修正
你的问题出在列表添加元素的方式上:当你用evenNumbers += number时,Python会把字符串number拆成单个字符逐个添加到列表中——比如"14"会被拆成"1"和"4"两个元素,最后join的时候自然就变成了"1,4"而不是完整的"14"。
修正后的代码
s = "75,41,14,8,73,45,-16" evenNumbers = [] for number in s.split(","): num_int = int(number) if num_int % 2 == 0 and num_int > 0: evenNumbers.append(number) # 用append添加整个字符串元素 evenNumbers = ','.join(evenNumbers) print("Even Numbers : \"{}\"".format(evenNumbers))
额外优化说明
我额外加了一步把字符串转成整数存为num_int,这样可以避免重复调用int(number),让代码更高效也更清晰。运行这段代码后,会输出你期望的结果:Even Numbers : "14,8"。
内容的提问来源于stack exchange,提问作者Sam Fatu
相关产品推荐
相关产品推荐

