第一种:
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)
源码应当以最快的速度得到理解,需要被传递时。非传递应该以简短为主