(1)while循环基本使用:while语句以及缩进部分是一个完整的代码块。
初始条件设置 - 通常是重复执行的计数器
while 条件(判断 计数器 是否到达 目标次数):
满足条件,执行代码行1
满足条件,执行代码行2
......
处理条件(计数器+1)
练习1:打印3遍hello python
#1.定义一个整数变量,记录循环次数
i = 1
#2.开始循环
while i<=3:
print("hello python")
i=i+1
执行结果:
F:\python-liuboke\venv\Scripts\python.exe "F:/python-liuboke/打印5遍hello python.py"
hello python
hello python
hello python
Process finished with exit code 0
死循环:在循环体内部未修改循环的判断句,导致程序无法终止
#1.定义一个整数变量,记录循环次数
i = 1
#2.开始循环
while i<=3:
print("hello python")
# i=i+1 注释计数条件会使程序一直输出hello python,程序无法终止
(2)赋值运算符:使用=给变量赋值,赋值运算符中间不能有空格
运算符 | 描述 |
---|---|
= | 简单赋值;c=a+b将a和b的相加结果赋值给c |
+= | 加法赋值;c+=a <> c=c+a |
-= | 减法赋值;c-=a <> c=c-a |
*= | 乘法赋值;c*=a <> c=c*a |
/= | 除法赋值;c/=a <> c=c/a |
//= | 取整除赋值;c//=a <> c=c//a |
%= | 取模(余数)赋值;c%=a <> c=c%a |
**= | 幂赋值;c**=a <> c=c**a |
练习1加入赋值运算符:
#1.定义一个整数变量,记录循环次数
i = 1
#2.开始循环
while i<=3:
print("hello python")
# i=i+1
i+=1
练习2 :while实现循环计数
#计算0-100之间所有数字的累计求和结果
# 0.定义最终结果的变量
result = 0
# 1.定义一个整数变量记录循环次数
i = 0
# 2.开始循环
while i <=100:
# print(i)
#每次循环,result这个变量和i计数器相加
result += i
#处理计数器
i += 1
print( "0-100之间的求和结果 = %d" % result)
执行结果:
D:\py\python.exe D:/py/liuna/循环计数.py
0-100之间的求和结果 = 5050
Process finished with exit code 0
#计算0-100之间所有偶数数字的累计求和结果
# 0.定义最终结果的变量
result = 0
# 1.定义一个整数变量记录循环次数
i = 0
# 2.开始循环
while i <=100:
# 判断变量i的数值是否是一个偶数
if i % 2 == 0:
result += i
#处理计数器
i += 1
print( "0-100之间的偶数求和结果 = %d" % result)
执行结果:
D:\py\python.exe D:/py/liuna/循环计数.py
0-100之间的偶数求和结果 = 2550
Process finished with exit code 0
(3)break 和 continue:只针对当前循环有效
break | 某一条件满足时,退出循环,不再执行后续重复代码 |
---|---|
continue | 某一条件满足时,不执行后续重复的代码,跳到循环判断条件 |
练习3:break语句在循环中使用
i = 0
while i < 10:
# break 某一条件满足时,退出循环,不再执行后续重复代码
# i == 2
if i == 2:
break
print(i)
i += 1
print("over")
执行结果:
D:\py\python.exe D:/py/liuna/break.py
0
1
over
Process finished with exit code 0
练习4:continue在循环中使用
i = 0
while i < 5:
# continue 某一条件满足时,不执行后续重复的代码,跳到循环判断条件
# i == 2
if i == 2:
#注意在循环中continue关键字的使用需确认循环计数是否修改,以防导致死循环
i += 1
continue
print(i)
i += 1
执行结果:
D:\py\python.exe D:/py/liuna/continue.py
0
1
3
4
Process finished with exit code 0
(4)循环嵌套
while 条件1:
满足条件1,执行代码行1
满足条件1,执行代码行2
......
while 条件2:
满足条件2,执行代码行1
满足条件2,执行代码行2
......
处理条件2
处理条件1
练习5:控制台输出5行*号,每行依次递增
'''
#方法1:使用字符串的*法操作
#定义一个计数器变量,这里从1开始
row = 1
#开始循环
while row <= 5:
print("* " * row)
row +=1
#print函数额外知识点:print函数输出内容之后,会自动换行,若想使输出内容在同一行,可以在print输出内容之后增加,end=""
'''
#方法2:循环嵌套
row = 1
while row <= 5:
#每一行要打印的星星与当前的行数是一致的
#增加一个小循环,专门负责当前行中,每一“列”的星星显示
#1.定义一个列计数器变量
col = 1
while col <= row:
#2.开始循环
#print("%d" % col)
print("*",end="")
col += 1
#print("第 %d 行" % row)
print("") #一行星星输出之后添加换行
row+=1
执行结果:
D:\py\python.exe D:/py/liuna/小星星.py
*
**
***
****
*****
Process finished with exit code 0
(5)转义字符
转义字符 | 描述 |
---|---|
\\ | 反斜杠符号 |
\’ | 单引号 |
\" | 双引号 |
\n | 换行符 |
\t | 制表符,在输出文本时垂直方向按列对齐文本 |
练习6:99乘法表
row = 1
while row <= 9:
col = 1
while col <= row:
print(" %d * %d = %d" %(col,row,col*row),end="\t")
col += 1
print("")
row += 1
执行结果:
D:\py\python.exe D:/py/liuna/99乘法表.py
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
Process finished with exit code 0