控制语句:顺序,选择,循环
选择结构(条件判断结构):
通过判断条件是否成立,来决定执行哪个分支,分为单分支,双分支,多分支
单分支选择结构:
If 条件表达式: #逻辑表达式,关系表达式,算术表达式
语句/语句块
双分支选择结构:
If 条件表达式:
语句/语句块
else:
语句/语句块
三元条件运算符:
语法格式:条件为真时的值if(条件表达式)else条件为假时的值
Num=input(‘请输入一个数字:’)
print(Num if int(Num)<10 else ‘数字太大’)
多分支选择结构:
If 条件表达式1:
语句1/语句块1
elif 条件表达式2:
语句2/语句块2
.........
elif 条件表达式n:
语句n/语句块n
[else:
语句n+1/语句块n+1]
选择结构的嵌套:
选择结构可以嵌套,注意不同代码块之间的缩进量
While循环:
While 条件表达式:
循环体语句
num=0
sum=0
while num<=100: #计算1~100的数字和
sum+=num
num+=1
print(sum)
for 循环和可迭代对象遍历:
for 循环通常适用于可迭代对象的遍历:
for 变量 in 可迭代对象:
可迭代对象
for i in range(5):
print(i)
遍历字典:
a = {'name': 'gaoqi', 'age': 18, 'job': 'student'}
for i in a:
for i in a.keys():
for i in a.values():
break语句:
在while和for循环中使用break语句,用来结束整个循环,当有嵌套循环时,只能跳出最近一层的循环
continue语句:
continue用于结束本次循环,继续下一次,多个循环嵌套时,应用于最近的一次循环
else语句:
循环中可以附带一个else语句(可选),如果循环语句没有被break结束,则会执行else语句,否则不执行
循环代码优化:
尽量减少循环内部不必要的计算
嵌套循环中,尽量减少内层循环的计算
局部变量查询较快,尽量使用局部变量
使zip()并行迭代:
我们可以通过zip()函数对多个函数进行并行迭代,在最短序列用完时会停止迭代
name = ('1', '2', '3', '4')
age = ('1', '2', '3', '4')
job = ('1', '2', '3')
for names, ages, jobs in zip(name, age, job):
print('{0}--{1}--{2}'.format(names, ages, jobs))
for i in range(3):
print('{0}--{1}--{2}'.format(name[i], age[i], job[i]))
推导式创建序列:
列表推导式生成列表对象:
[表达式 for item in 可迭代对象 if 条件判断]
#可以使用两个循环,使用zip并行迭代
cells=[(row,col)for row,col in zip(range(1,10),range(101,110))]
for cell in cells:
print(cell)
字典推导式:
{key:value for 表达式 in 可迭代对象}
citys = ['北京', '上海', '深圳', '广州']
s = {id * 100: city for id, city in zip(range(1, 5), citys)}
print(s)
集合推导式:
{表达式 for item in 可迭代对象 if 条件判断}
生成器推导式(不直接生成元组):
一个生成器只能运行一次,第一次迭代可以得到数据,第二次数据就已经没有了
(表达式 for item in 可迭代对象 if 条件判断)
绘制不同颜色的同心圆:
import turtle
p = turtle.Pen()
radius = [x * 10 for x in range(1, 11)]
p.width(4)
my_color = ('red', 'yellow', 'blue', 'black')
for r, i in zip(radius, range(len(radius))):
p.penup()
p.goto(0, -r)
p.pendown()
p.color(my_color[i % len(my_color)])
p.circle(r)
turtle.done()