编写程序统计输入数字的零、奇数及非零偶数位并修复首零统计问题
问题解决:统计含前导零数字的各类数字数量
问题根源
原代码中n=int(input())会将输入的带前导零的字符串(如012)转换为整数12,直接丢失了前导零,导致后续统计时无法识别开头的零。
修改后的代码
str_number = input().strip() zero = 0 odd = 0 even = 0 for i in str_number: # 可选校验:确保输入为纯数字,若用户保证输入合法可省略 if not i.isdigit(): print("请输入纯数字") exit() digit = int(i) if digit == 0: zero += 1 elif digit % 2 == 0: even += 1 else: odd += 1 print(f"Number of odd digits:{odd}") print(f"Number of non-zero even digits:{even}") print(f"Number of zeros:{zero}")
关键修改点
- 直接保留输入的原始字符串,不做整数转换,完整保留所有输入的数字字符(包括前导零)
- 可选添加输入格式校验,避免非数字输入干扰统计逻辑
测试示例
输入:012
输出:
Number of odd digits:1 Number of non-zero even digits:1 Number of zeros:1
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

