自我学习记录:如有问题,请帮助指正,勿喷。

计算1+2+3+4,我们可以直接写表达式

print(1+2+3+4)

但是如果数字多了,就会很累

python的循环有两种,一种是for x in...循环,依次把list或者tuple里面的元素迭代出来,比如

names=('Sam','Max','Leo')
for name in names:
print(name)

执行的这段代码,就依次打印了names的每一个元素

所以for x in...循环就是把每个元素代入变量x,然后执行缩进块的语句

我们试一下计算1-10整数之和,可以用sum变量做累加

sum = 0
for x in (1,2,3,4,5,6,7,8,9,10):
sum =sum + x
print(sum)

如果要计算1-100的整数和或者更多,一个个输入数字会很困难,

在python中有一个'range'的函数,可以生成一个整数序列,再通过'list'函数转为list

print(list(range(100)))

第二循环是while循环,只要条件满足,就可以不断循环,否则退出循环,比如计算100以内的奇数和

sum = 0
n = 99

while n > 0:
sum = sum +n
n = n - 2
print(sum)

sum = 0
n = 99
while n > 0:
break
sum = sum +n
n = n - 2
print(sum,'break 跳出当前循环')

break 提前退出循环

sum = 2
n = 99
s = 100
while n > 0:

continue 跳出本轮循环,不执行本轮循环的后面操作,直接进入下一轮循环。

            
              sum = sum +n
n = n - 2
continue
s = 0
            
          

print('%d %d %d'%(sum,s,n))

练习:计算0-100的整数和,但不计算50-60的整数。

方法一:计算0-50的整数和,再计算60-100的整数和,两者相加。

n = 0
sum = 0
res = 0
while (n <=50):
res = (res+ n )
n = n + 1
print(res)
n=60
while (n<=100):
sum = (sum + n)
n = n + 1
sum=sum+res
print(sum)

方法二: 先计算0-100的整数和,在减去50-60的整数和。

n = 0
sum =0
res = 0
while n<=100:
sum = (sum +n)
n = n + 1
print(sum)
print(n)
n = 51
while n >50 and n <60:
res = (res + n)
n = n + 1
print(res)
print(sum - res)

方法三:通过if语句判断50-60的整数,使用continue跳出当前循环,在继续执行

n=0
sum=0
res=0
while n<=100:
if n <= 50:
res=(res + n)
n=n+1
elif (n>50 and n<60) :
n=n+1
continue
else :
sum=sum+n
n=n+1
print(res)
print(sum+res)

**