Python接收多个空格分隔数字判断奇偶报错如何解决?
问题原因
你代码报错的核心是类型转换和字符串拆分的执行顺序搞反了,同时存在函数名拼写错误:
split()是字符串类型的方法,你先把整个输入内容转为整数,整数类型没有该方法,自然调用失败- Python 中用于整数类型转换的内置函数是
int(),不是你写的integer(),原单数字版本的代码本身也存在语法错误
解决方法
调整执行顺序:先拿到用户输入的完整字符串,按空格拆分得到单个数字的字符串列表,再逐个把字符串转为整数,之后就可以正常做取模判断。
实现1:逐个输出每个数字的奇偶性
# 读取输入并按空格拆分 input_str_list = input('input multiple number : ').split() for item in input_str_list: # 逐个转为整数 num = int(item) if num % 2 == 0: print(f"{num} 是偶数") else: print(f"{num} 是奇数")
实现2:和你原有输出逻辑一致,仅判断是否存在偶数/奇数
# 拆分后直接批量转为整数列表 num_list = list(map(int, input('input multiple number : ').split())) if any(x % 2 == 0 for x in num_list): print('have even number') if any(x % 2 == 1 for x in num_list): print('have odd number')
内容的提问来源于stack exchange,提问作者Gaga
相关产品推荐
相关产品推荐

