初始条件设置 —— 通常是重复执行的 计数器
while 条件(判断 计数器 是否达到 目标次数):
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
处理条件(计数器 + 1)
注意:
注意:循环结束后,之前定义的计数器条件的数值是依旧存在的
由于程序员的原因,忘记在循环内部修改循环的判断条件,导致循环持续执行,程序无法终止!
start = 2
while start < 10:
print(start)
start += 1
end = 9
while end > 1:
print(end)
end -= 1
while True:
# 输入分数
score = input("请输入分数【整数】:")
# 如果输入q为退出
if score == "q":
break
# 将输入的分数转为整数
if int(score) >= 90:
print('excellent')
elif int(score) >= 80:
print ('good')
elif int(score) >= 60:
print ('passed')
else:
print ('failed')
在控制台连续输出五行*,每一行星号的数量依次递增
# 1. 定义一个计数器变量,从数字1开始,循环会比较方便
row = 1
while row <= 5:
print("*" * row)
row += 1
知识点对print函数的使用做一个增强
- 在默认情况下,print函数输出内容之后,会自动在内容末尾增加换行
- 如果不希望末尾增加换行,可以在print函数输出内容的后面增加, end=""
- 其中""中间可以指定print函数输出内容之后,继续希望显示的内容
# 向控制台输出内容结束之后,不会换行
print("*", end="")
# 单纯的换行
print("")
row = 1
while row <= 5:
# 假设 python 没有提供字符串 * 操作
# 在循环内部,再增加一个循环,实现每一行的 星星 打印
col = 1
while col <= row:
print("*", end="")
col += 1
# 每一行星号输出完成后,再增加一个换行
print("")
row += 1
物理行:程序员编写代码的行。
逻辑行:python解释器需要执行的指令。
建议一个逻辑行在一个物理行上。
# 3个物理行 3个逻辑行
a = 1
b = 2
c = a + b
如果一个物理行中使用多个逻辑行,需要使用分号;隔开。
# 1个物理行 3个逻辑行
a = 1;
b = 2;
c = a + b
如果逻辑行过长,可以使用隐式换行或显式换行。
# 3个物理行 1个逻辑行
d = a + \
b + \
c
隐式换行:所有括号的内容换行,称为隐式换行
括号包括: () [] {} 三种
# 隐式换行
d = (a + b +
c)
显式换行:通过折行符 \ (反斜杠)换行,必须放在一行的末尾,目的是告诉解释器,下一行也是本行的语句。
作用:
用来遍历可迭代对象的数据元素。可迭代对象是指能依次获取数据元素的对象,例如:容器类型。
示意图:
语法:
for 变量列表 in 可迭代对象:
语句块1
else:
语句块2
说明:
else子句可以省略。 在循环体内用break终止循环时,else子句不执行。
message = "python"
for item in message:
print(item)
作用:
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)。
语法:range(开始点,结束点,间隔)
示意图:
说明:
函数返回的可迭代对象可以用for取出其中的元素
返回的数字不包含结束点
开始点默认为0
间隔默认值为1
# 整数生成器:产生一个范围内的整数
# 开始值 结束值(不包含) 变化量
for item in range(0, 5, 1):
print(item) # 0 1 2 3 4
# 结束值(开始值默认为0,变化量默认为1) 012345
for item in range(6):
print(item)
# 开始值,结束值 2345
for item in range(2,6):
print(item)
# 练习1:显示0 1 2
for item in range(3):
print(item)
# 练习2:显示6 7 8 9 10
for item in range(6,11):
print(item)
# 练习3:显示2 4 6 8
for item in range(2,9,2):
print(item)
# 练习4:显示9 8 7 6 5 4 3
for item in range(9,2,-1):
print(item)
# 练习5:显示-1 -2 -3 -4 -5 -6
for item in range(-1,-7,-1):
print(item)
sum = 0
for number in range(1, 101):
# 不满足条件则跳过
if number % 3 != 0:
continue # 跳过(当前元素,继续循环)
sum += number
print(sum)
import random
score = 0
for __ in range(3):
number01 = random.randint(1, 100)
number02 = random.randint(1, 100)
message = str(number01) + "+" + str(number02) + "=?"
input_number = int(input(message))
score += 10 if input_number == number01 + number02 else -5
print("总分:"+str(score))
语法:
del 变量名1, 变量名2
作用:
用于删除变量,同时解除与对象的关联关系.如果可能则释放对象。
自动化内存管理的引用计数:
每个对象记录被变量绑定(引用)的数量,当为0时被销毁。
a=1 # 对象 1 被 变量a引用,对象1的引用计数器为1
b=a # 对象1 被变量b引用,对象1的引用计数器加1
c=a #1对象1 被变量c引用,对象1的引用计数器加1
del a #删除变量a,解除a对1的引用
del b #删除变量b,解除b对1的引用
print(c) #最终变量c仍然引用1
del删除的是变量,而不是数据。