Python如何从输入的数字中分别打印出奇数数字和偶数数字?
Python从用户输入数字中分离打印奇偶数字的实现方法
实现逻辑
- 直接获取用户输入的数字字符串,逐位处理即可,无需转为整体整数,可避免大数溢出问题
- 遍历每一位字符,转为单个整数后判断奇偶性
- 分别汇总奇偶数字后统一输出,也可在遍历过程中直接打印
示例说明
例如输入数字34560,其中包含3个偶数数字(4、6和0)和2个奇数数字(3和5)
可运行完整代码
# 读取用户输入的数字串 input_num = input("请输入数字:").strip() even_digits = [] odd_digits = [] # 逐位处理 for char in input_num: digit = int(char) if digit % 2 == 0: even_digits.append(str(digit)) else: odd_digits.append(str(digit)) # 打印结果 print("偶数数字:", " ".join(even_digits)) print("奇数数字:", " ".join(odd_digits))
原参考代码的问题说明
原提供的参考代码存在逻辑错误,无法正常运行:
- 遍历对象为
int(len(number)),实际遍历的是0到数字长度减1的索引值,不是输入的每一位数字 - 未将输入的字符类型数字转为整数,直接取模运算会触发类型报错
内容的提问来源于stack exchange,提问作者QA Engineer
相关产品推荐
相关产品推荐

