Python 仅使用一个for循环不用使用if条件进行奇偶数求和

本文主要介绍Python中,仅使用一个for循环,不使用if条件的情况下,对奇数和偶数分别求和的方法,以及相关的示例代码。

使用for循环和if条件进行奇偶求和:

number = 100
x = 0
y = 0
for n in range(number):
if n % 2 == 0:
x += n
else:
y += n
print(x)
print(y)

使用for循环实现:

x=0
y=0
for n in range(100):
    x += (1 - n % 2) * n
    y += (n % 2) * n
print(x)
print(y)

使用list切片实现:

num = list(range(100))
even = num[::2]
odd = num[1::2]
print('Even list:', even)
print('Odd list:', odd)
print('Even:', sum(even))
print('Odd:', sum(odd))

使用数学方法:

从1到n的数的和是(n+1)*n/2。因此,偶数的和是2 * (m+1)*m/2, m = n/2(例如,floor(n/2))。奇数的和可以由所有数的和减去偶数的和来计算。

n = 99
m = n // 2
e = (m+1)*m
o = (n+1)*n//2 - e

print(e)
print(o)

推荐阅读
cjavapy编程之路首页