Python3 循环表达式

一 While循环

基本循环

while 条件:

  执行内容  #循环体

  ...      #循环体           

  ...      #循环体

# 若条件为真,执行循环体内容
# 若条件为假,不执行循环体内容

实例1(Python 3.0+):输出1--100间的所有整数

num = 1
while num <= 100:
    print(num)
    num += 1

实例2(Python 3.0+):用户三次登陆

true_username = "sunwk"
true_passwd = "abc"
count = 1

while count <= 3:

    _username = input("please insert your name:")
    _passwd = input("please insert your passwd:")

    if _username == true_username and _passwd == true_passwd:
        print("welcome %s login ..." % _username)
        #此处使用了格式化输出
        break
    elif count == 3:
        print("输入次数已达上限,请稍后重试 ...")
    else:
        print("用户名密码错误,请重新输入 ...")

    count += 1

#格式化输出实例:
#打印字符串 %s (str)

A = "sunwk"
B = "zhubj"
print("A=%s B=%s" %(A,B))

"""
执行结果如下:
A=sunwk B=zhubj
"""

#打印整数

A = 10
B = 20
print("A=%d B=%d" %(A,B))

"""
执行结果如下:
A=10 B=20
"""

#打印浮点数

A = 2.1234
B = 3.1415
C = 10
D = 20
print("A=%f B=%f C=%f D=%f" %(A,B,C,D))

"""
执行结果如下:
A=2.123400 B=3.141500 C=10.000000 D=20.000000
默认浮点数都保留6位小数
"""

#打印浮点数(指定保留小数点位数)

A = 2.1254
B = 3.1415
print("A=%.2f B=%.3f" %(A,B))

"""
执行结果如下:
A=2.13 B=3.142
保留小数位数是,采用四舍五入方法的方法
"""

实例3(Python 3.0+):输出九九乘法表

first = 1
sec = 1

while first <=9:
    sec = 1
    
    while sec <= first:
        print(str(sec)+"*"+str(first)+"="+ str(first*sec),end="	")
        # 	 是制表符
        sec += 1
        
    print()
    # print() 默认使用时表示换行,等同于print(end="
")
    
    first += 1
while也可以配合else使用,语法如下
while 条件:

  执行内容     #循环体

  ...          #循环体

  ...          #循环体

else:            #执行else是有条件的,前提就是while正常结束后,才能执行else,如果使用break强行结束,则不执行else

    执行内容

二 for循环

基本循环

for iterating_var in sequence:
   
       statements(s)

#sequence序列可以是字符串、函数、列表等等

实例1(Python 3.0+):序列为字符串

name = "python"
for i in name:
    print("当前字符为:" + i)
else:
    print("Good Bye !!!")

"""
执行结果如下:
当前字符为:p
当前字符为:y
当前字符为:t
当前字符为:h
当前字符为:o
当前字符为:n
Good Bye !!!
"""

 实例2(Python 3.0+):序列为列表

name = ["sunwk","zhubj","shawj","tangs"]
for i in name:
    print("当前名字为:" + i)
else:
    print("Good Bye !!!")

"""
执行结果如下:
当前名字为:sunwk
当前名字为:zhubj
当前名字为:shawj
当前名字为:tangs
Good Bye !!!
"""

实例3(Python 3.0+):序列为函数-输出1到10之间的偶数

for i in range(1,11):
    if  i % 2 == 0:
        print(i)

"""
执行结果如下:
2
4
6
8
10
Good Bye !!!
"""

此处我们引用了range()函数,简单了解一下range()

#语法:

range(start, stop, step)

"""
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
end: 计数到 end 结束,但不包括 end。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
"""

#例如:

range(5)

"""
输出结果如下:
[0,1,2,3,4]
python2.x中输出的是一个列表,但是在Python3.x中输出的是一个对象
"""

a = range(5)
print(type(a)) # 查看a的类型,执行结果为:<class 'range'>,不是一个列表
b = list(a)   #使用list函数返回列表
print(b)

"""
执行结果如下:

<class 'range'>

[0, 1, 2, 3, 4]
"""

for循环也可以配置else使用,语法于while类似。  

三 break语句

break是跳出当前循环

 实例1(Python 3.0+):

num1 = 1
num2 = 1

while  num1 <= 3:
    print("num1值为"+str(num1)+":"+"执行父循环")

    while True:
        if num2 == 2:
            print("num2值为"+str(num2)+":"+"跳出子循环")
            break   #break跳出第二层while循环,上层循环继续执行,总结就是break只会跳出当前的循环,而不是跳出全局循环。
        else:
            print("num2值为"+str(num2)+":"+"执行子循环")
            num2 += 1
    num1 += 1
else:
    print("Good Bye !!! ")

"""
执行结果如下:
num1值为1:执行父循环
num2值为1:执行子循环
num2值为2:跳出子循环
num1值为2:执行父循环
num2值为2:跳出子循环
num1值为3:执行父循环
num2值为2:跳出子循环
Good Bye !!! 
"""

通过上面的实例,得到的结论是break只能跳出子循环,但是如果我要同时跳出父循环怎么办呢,通过反复的代码试验,我发现可以设置一个break_flag来实现,以下是我的实例,可能还不是太理想,肯定还有其它方法的,但一想到我可是初学的小白啊,一下子就释然了.....

num1 = 1
num2 = 1

while  num1 <= 3:
    print("num1值为"+str(num1)+":"+"执行父循环")

    while True:
        if num2 == 2:
            print("num2值为"+str(num2)+":"+"跳出子循环")
            break_flag = True
            break   #break跳出第二层while循环,上层循环继续执行,总结就是break只会跳出当前的循环,而不是跳出全局循环。
        else:
            print("num2值为"+str(num2)+":"+"执行子循环")
            num2 += 1
    if break_flag:
        print("子循环结束了,父循环跳出")
        break
    num1 += 1
else:
    print("Good Bye !!! ")

"""
执行结果如下:
num1值为1:执行父循环
num2值为1:执行子循环
num2值为2:跳出子循环
子循环结束了,父循环跳出
"""

四 continue语句

continue是结束本次循环,执行下次循环

实例1(Python 3.0+):输出1-5的所有整数,跳过3

num = 0

while num < 5:
    num += 1
    if  num == 3:
        continue
    print(num)
else:
    print("Good Bye !!!")

"""
执行结果如下:
1
2
4
5
Good Bye !!!
"""
原文地址:https://www.cnblogs.com/lvcm/p/8278154.html