python学习笔记(六)【while循环、for循环、break\contine\pass】

主要内容:

1.while循环
2.for循环
3.break、contine、pass

一、while循环

(一)、基本使用

语法:

while 循环条件:
循环体

执行过程:先执行判断条件,条件成立,则进入循环体,执行一遍循环体,循环体执行结束,继续进行判断,若条件成立,继续执行循环体,循环往复,直到条件不成立的时候,退出循环

流程图:

Created with Raphaël 2.2.0 开始 while 循环条件 语句块(循环体) 结束 yes no

注意:每执行一次语句块,循环条件应趋向于no,否则就是死循环

例:

"""
求n的阶乘
要求n从控制台输入
"""
n = int(input("请输入一个数:"))
res = 1
while n > 0:
    res *= n
    n -= 1

print(res)

运行结果:
python学习笔记(六)【while循环、for循环、break\contine\pass】_第1张图片

(二)、嵌套循环

while 循环条件1:
while 循环条件2:
   循环体2
循环体1

执行过程:先执行判断条件1,若条件1成立,则进入循环体,执行判断条件2,若判断条件2成立,则执行循环体2,继续执行判断条件2,直到条件2不成立为止,退出内循环,执行循环体1中的内容,执行判断条件1,条件成立,执行判断2…直到条件1不成立则退出循环。

说明:外循环执行一次,内循环执行结束之后,再执行第二次外循环

流程图:

Created with Raphaël 2.2.0 开始 while 循环条件1 while 循环条件2 语句块2(循环体2) 语句块(循环体1) 结束 yes no yes no

例:

"""
打印*号
*
**
***
...
从控制台输入
"""

n = int(input("请输入你想要打印的层数:"))
i = 1                      # 控制行数

while i <= n:
    j = 1                  # 控制*个数
    while j <= i:
        print("*", end="")  # end="":不换行
        j += 1

    print()
    i += 1
# 更简单的方法:(跟上面的运行结果一样)
while i <= n:
    print("*" * i)
    i += 1

运行结果:
python学习笔记(六)【while循环、for循环、break\contine\pass】_第2张图片

(三)、死循环

死循环出现的契机:当表达式永远为真的时候,会出现死循环

取值为False的值:None,0,""(空串)
其它都为True

说明:适用于不知道具体的循环次数的时候,通常跟break一起使用

break的作用:结束当前循环

例:

"""
输入用户名及密码,判断用户名与密码是否正确,若不正确,
则一直输入
用户名:admin
密 码:123456

"""
while True:
    userName = input("请输入您的用户名:")
    psd = input("请输入密码")

    if userName == "admin" and psd == "123456":
        print("欢迎回来!!")
        break
    else:
        print("请重新输入")

(四)、while…else…

语法:

while 判断条件:
循环体
else:
语句块

说明:当代码循环正常执行结束的时候,它才会执行else下面的语句块,若循环体中的代码是非正常执行结束,这时候他不会执行else下面的语句块,【比如用break跳出循环的时候,就是非正常执行结束】

二、for循环

(一)、基本使用

语法:

for 变量 in 序列:
循环体

说明一:依次将序列中元素取出并赋值给变量,直到序列元素全部取出为止,循环结束

说明二:for通常跟range一起使用

range([start,]stop[,step])
功能:可以产生一个[start,end)的序列
参数一:start 从start开始,若start不写,默认从0开始
参数二:stop 到end结束,stop必须给
参数三:step 步长,各多少取一次,默认为1
注意:要写步长的话,必须写start,否则会报错
取值范围[start,end)

说明三:基本数据类型能作用于for循环的有:
字符串、列表、元组、字典、集合、range()

例:

# 求n的阶乘
n = int(input("请输入一个整数:"))
res1 = 1
for i in range(1, n + 1):
    res1 *= i

print("n的阶乘为:", res1)

运行结果:
python学习笔记(六)【while循环、for循环、break\contine\pass】_第3张图片

(二)、for循环嵌套

语法:

for 变量1 in 序列1:
for 变量2 in 序列2:
    循环体

例:

# 使用for循环打印九九乘法表
for i in range(10):  # 控制行
    for j in range(1, i+1):  # 控制列
        print("%d x %d = %d" % (j, i, i*j), end="\t")
    print()

运行结果:
python学习笔记(六)【while循环、for循环、break\contine\pass】_第4张图片

(三)、for…else…

语法:

for 变量 in 序列:
循环体
else:
语句块

执行过程:执行循环,若循环正常执行结束,则执行else下面的语句块,若是非正常执行结束,则不会执行else下面的语句
性质跟while…else…一样

while循环跟for循环使用场景

若知道循环的次数的时候,优先选择for
若不知道循环次数,只循环结束的条件,应选择while循环

while循环通常用于死循环,其它时候基本上都是使用for循环

(三)、break,contine,pass

break:跳出循环体【跳出它所在的循环的循环体】
continue:结束本次循环,[写在continue后的语句不会再执行]继续下一次 【不跳出循环体】
pass;保证语言的完整,本身没有任何意义

你可能感兴趣的:(学习笔记,python基础,学习笔记,入门,小白)