我想知道如何获得输入列表中的奇数
例如,如果输入[1,3,31,42,52],程序将打印出“有3个奇数”
number = list(input('list: '))
total = 0
for a in number :
a = int(a)
if a % 2 == 1 :
total = total + 1
print("odd number : %d 개" % total)
在代码片段中,您可以看到我所做的尝试,但是我不知道如何将“列表”应用于此,我需要更改此程序,以便程序打印出列表中奇数的总和
我的问题是如何制作一个程序来打印列表中的奇数(codeA)。此外,通过将最小代码从codeA更改为打印列表中奇数之和(codeB)的程序
这里有一个解决方案。当你们用输入从键盘上读的时候,显然在PyCharm中,每个字符都会被读取并添加到列表中。因此,如果您阅读1,2,3,4,列表将看起来像['1',',','2'…],因此使用try,除了可以跳过任何不是数字的字符外
编辑!显然,在Python3中,输入的计算方法与Python2不同,因此必须逐个读取数字,否则输入将以字符分隔
我尝试此操作时,您的代码出现错误:
问题是数字列表的格式不是您期望的格式。是这样的:
所以
int('[')
将导致ValueError
要解决这个问题,可以使用正则表达式从输入中捕获数字,map()将其转换为int,然后使用filter()过滤奇数
然后可以使用sum()和len()来获得奇数的总数和计数
现在,当我尝试代码时,它适用于以下类型的输入:
由于您的输入将作为字符串输入,因此需要将其转换为列表。这可以通过string.split()函数完成
相关问题 更多 >
编程相关推荐