Python3 循环表达式

时间:2021-04-28 09:35:25

一 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="\t")
# \t 是制表符
sec += 1 print()
# print() 默认使用时表示换行,等同于print(end="\n") 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 !!!
"""