for 和while
1、while 循环
不支持do……while
while 判断条件(condition):
执行语句
满足条件是执行语句;不满足条件时结束循环
ps:注意冒号和缩进
# 1-100总和
n=1
s=0
while n<=100:
s+=n
n+=1
print("1-100的总和是%d"%s)
while True: # 无限循环
num=int(input("请输入一个数字:"))
print("你输入的数字是:",num)
- while……else
while 判断条件(condition):
执行语句
else: # 判断条件是false时,执行
执行语句2
# 3:while-else
n=1
s=0
while n<=100:
s+=n
n+=1
else: # while后条件判断为false时,执行
print(f"s={s},n={n}") # s=5050,n=101
# 应用
# 3:while-else
n=1
s=0
while n<=100:
s+=n
n+=1
if s>100:
print(f"s={s}")
break # break终止循环,无法实现判断条件false,则else不执行
else: # while后条件判断为false时,执行
print(f"s={s},n={n}") # s=5050,n=101
- 单行语句
循环体只有一条语句,可以同行书写
# 简单语句
flag=True
while flag:print("welcome!")
2、for循环
遍历可迭代对象,如列表、字符串等
# for
for var in iterable:
执行语句1
# for……else
for var in iterable:
执行语句1
else: # 循环执行完毕即遍历完iterable中所有元素(存在误差)
执行语句2
# for
for i in range(1,11):
print(i) # 1-10
# for……else
for i in range(5):
print(i) # 0-4
else: # 遍历完所有元素后,执行
print('done') # done
# for……else (break执行)
for i in range(5):
print(i) # 0-4
if i>4:
break
else: # break执行,不满足条件
print('done')
3、range()函数
内置函数,生成数列
range(start=0,stop,step=1)
start:默认0,计数开始
stop:,计数结束,但不包括stop
step:步长,默认1;步长为负数时,start>stop
使用: range(stop)、range(start,stop)、range(start,stop,step)
number=range(1,11,2)
print(number) # range(1, 11, 2)
print(list(number)) # [1,3,5,7,9] # 若需要整数序列,则直接将返回值转为list或tuple即可
# print(type(number)) # <class 'range'>
# for i in number:
# print(i) # 1,3,5,7,9
# step<0
num2=range(9,0,-2)
# for i in num2:
# print(i) # 1,3,5,7,9
4、break & continue
break:终止整个循环
continue:中止当前循环,跳到下一循环;即当前循环中continue后面语句不执行,
# continue
for i in range(5):
if i==3: # 满足条件后结束当前循环,故3无法输出;但跳到了下一次循环,故4可以正常输出
continue
print(f"i={i}")
# 输出0 1 2 4
# break
for i in range(5):
if i==3: # 满足条件后终止整个循环,故之后的4也无法输出
break
print(f"i={i}")
# 输出0 1 2
故而:for……else和while……else中,若循环体中有break且break执行了,则else语句将不会执行;
# else使用(特殊情况)
for i in range(5):
if i==4:
break
else: # i=4,循环遍历完成,但通过break终止,仍不执行else
print("done!")
5、pass 语句
pass 空语句
不做任何事情,一般用做占位语句,以保证程序结构的完整性