TypeError:在字符串格式化(数字计数)过程中,并非所有参数都已转换

2024-10-01 02:28:51 发布

您现在位置:Python中文网/ 问答频道 /正文

编写一个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行,在 如果i%2==0: TypeError:在字符串格式化过程中并非所有参数都已转换 


Tags: 文件in程序forinputifmaincount
2条回答

我发现代码有几个问题。首先,我没有看到x和I被创建或声明。第二件事是,当您执行numbers=input()时,数字的变量类型是字符串。您可能希望将其更改为numbers=int(input())

首先,我不知道为什么要在一个列表上迭代两次。其次,如果您希望列表由空格定义,则需要将其拆分为元素,然后需要将每个项目转换为一个整数,然后可以迭代

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)

相关问题 更多 >