如何用for循环判断逗号分隔字符串中各数字的奇偶性?
解决逗号分隔数字字符串的奇偶判断问题
嘿,我发现你的代码里存在一个关键问题——你直接遍历了整个字符串getallen,这会把每个字符(包括逗号和空格)都当作单独的元素处理,而这些字符没法直接进行取模运算,自然会报错。
要解决这个问题,我们需要先把逗号分隔的字符串拆分成单独的数字字符串列表,再逐个转换为整数进行判断。这里是修正后的代码:
getallen = '12, 3, 7, 25, 771, 45, 6, 98, 55, 546' # 按", "分割字符串,得到数字字符串组成的列表 number_strings = getallen.split(', ') for num_str in number_strings: number = int(num_str) if number % 2 == 0: print(f'{number} is even') else: print(f'{number} is odd')
代码说明:
getallen.split(', '):因为你的字符串是用逗号加空格分隔的,所以用这个方法可以把原字符串拆成['12', '3', '7', '25', ...]这样的列表,每个元素都是单个数字的字符串形式。- 循环中先把每个字符串转成整数
int(num_str),再通过number % 2 == 0判断奇偶,最后输出对应的结果。
这样运行后就能得到你期望的输出:12 is even、3 is odd、7 is odd以此类推啦。
内容的提问来源于stack exchange,提问作者Matthijs Abma
相关产品推荐
相关产品推荐

