Python求a到b奇数之和且保证a要小于b

Python019

Python求a到b奇数之和且保证a要小于b,第1张

如果要求a到b之间所有奇数的和,可以使用Python的range函数,这个函数可以生成一个指定范围内的整数序列。例如,要生成从1到10的整数序列,可以使用range(1, 11)。

要求奇数和,可以在生成整数序列的基础上,使用Python的filter函数来过滤出序列中的奇数。filter函数可以接受一个函数作为参数,并根据这个函数的返回值来过滤序列中的元素。例如,要过滤出序列[1, 2, 3, 4, 5]中的奇数,可以使用以下代码:

def is_odd(x):

return x % 2 != 0

odd_numbers = filter(is_odd, [1, 2, 3, 4, 5])

最后,要求过滤出的奇数的和,可以使用Python的sum函数。sum函数可以接受一个数字序列,并返回序列中所有数字的和。例如,要求序列[1, 2, 3, 4, 5]的和,可以使用以下代码:

numbers = [1, 2, 3, 4, 5]

sum = sum(numbers)

综上,要求a到b之间所有奇数的和,可以使用如下代码:

def is_odd(x):

return x % 2 != 0

def odd_sum(a, b):

numbers = range(a, b+1)

odd_numbers = filter(is_odd, numbers)

return sum(odd_numbers)

示例:

# 求1到10之间所有奇数的和

odd_sum(1, 10) # 返回25,因为1+3+5+7+9

1‘获取奇数和偶数列表可以不用for循环的形式,使用一句列表表达式即可实现,方法如下,首先在按下开始菜单打开jupyter notebook:

2、在空白的python文件中输入代码,这里定义两个数组其中odd代表偶数,even代表奇数,列表中先用range遍历1到20的数,然后用if语句判断x除以2的值,若为1则是奇数2,若为0则为偶数,最后在打印结果一即可:

3、最后鼠标点击每个代码块并按下crtl+回车键运行,最后即可看到两个列表的结果。以上就是python得到1~20的奇数列表与偶数列表的方法,用列表表达式的方法不光代码简洁,而且运行速度也比较快:

我只能给你思路,具体操作还得靠自己,不知道具体函数可以去查。

以空格分隔,可以用split函数把输入的数字串分成列表,此时列表里的数字都为字符串,需要用函数转化为数字类型,然后过滤掉负数和零。

接着求奇数的和,遍历列表里的数字,每个数字除以2取余,判断是否为奇数然后求和。