第一种:
number = 1
result = 0
while number < 100:
# number为偶数时 -=
if number % 2 == 0:
result -= number
# number为奇数时 +=
else:
result += number
number += 1
print(result)
第二种:
给start赋值为1,sum赋值为0,当start的赋值小于100的时候while循环为真
temp的赋值等于start和2的余数,如果temp的赋值等于1,sum的赋值就等于
sum加start的赋值(余数为1,start就是奇数),否则sum的赋值就等于sum减start的
赋值(余数不为1就为0,start就是偶数),start重新赋值
等于start加1,一直加到start的赋值等于99,while循环为假!打印sum
"""
start = 1
sum = 0
while start <100:
temp = start % 2
if temp ==1:
sum = sum + start
else:
sum = sum - start
#print(start)
#sum = sum + 1
start += 1
print(sum)
我认为:这是一种小学的算法
最快的方法实现,直接使用公式
1是不变的,可以变的是最后一个数的取值为N
n为奇数时,n/2,取整数,即可取得数组的数量
数组的数量都是-2+3,-4+5,每次的结果都是1
我认为应该这样写:
n = 99
if isinstance(n/2, int) == True:
s = 1 + int(n/2) + n
print(s)
else:
if isinstance(n/2, int) != True:
s = 1 + int(n/2)
print(s)
源码应当以最快的速度得到理解,需要被传递时。非传递应该以简短为主