python - TypeError:字符串格式化期间并非所有参数都转换(数字计数)
问题描述
编写一个 Python 程序来计算输入中偶数和奇数的数量。
count_even = 0
count_odd = 0
numbers = input()
for x in numbers:
for i in x:
if i % 2 == 0 :
count_even += 1
else:
count_odd += 1
print(count_even)
print(count_odd)
错误:回溯(最近一次调用最后一次):文件“main.py”,第 6 行,在 if i % 2 == 0 中:TypeError:字符串格式化期间并非所有参数都转换了 </p>
解决方案
首先,我不确定您为什么要对一个列表进行两次迭代。其次,如果您期望一个由空格分隔的列表,您需要将其拆分为它的元素,然后您需要将每个项目转换为一个整数,然后您可以对其进行迭代。
count_even = 0
count_odd = 0
numbers = input()
print(numbers)
for x in numbers.split():
if int(x) % 2 == 0:
count_even += 1
else:
count_odd += 1
print(count_even)
print(count_odd)