一、if分支结构
(一)if单分支结构
1) 应用场景:如果xxx就xxx(满足条件才执行某个操作,如果这个条件不满足这个操作就不执行)
2) 语法:
if 条件语句:
代码段
3) 说明:
a. if — 关键字,固定写法
b. 条件语句 — 一般用于判断语句(可以是任何有结果的表达式)
c. : — 固定写法(注意:必须是英文输入法的冒号)
d. 代码段 — 结构上是和if保持一个缩进的一条或者多条语 句(至少一条)
逻辑上代码段就是满足条件才会执行的代码
练习:根据num的值打印奇数
num = 109
if num % 2 == 0:
print('奇数')
(二)if双分支结构
1)应用场景:如果xxx就xxx否则就xxx(满足条件执行某个操作,条件不满足的时候执行另外的一个操作)
2)语法:
if 条件语句:
代码段1(满足条件的时候需要执行的代码)
else:
代码段2(条件不满足的时候需要执行的代码)
练习:根据num的值打印‘奇数’或者‘偶数’
num = 109
if num % 2 == 0:
print('奇数')
else:
print('偶数')
(三)if多分支结构
1)应用场景:如果xxx就xxx,如果xxx就xxx,如果xxx就xxx,...(根据不同的条件做不同的事情)
2)语法:
语法A:
if 条件语句1:
代码段1
if 条件语句2:
代码段2
if 条件语句3:
代码段3
...
语法B: —— 多个条件之间存在:其中一个条件成立,别的条件一定不会成立的关系
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3
...
else:
代码段N
练习:根据分数打等级:A(>=90)、B[80, 90)、C[60, 80)、D(<60)
score = 99
if score >= 90:
print('A')
elif score >= 80:
print('B')
elif score >= 60:
print('C')
else:
print('D')
二、循环:代码只写一次,但需反复执行多次
(一)for循环
1)语法:
for 变量 in 序列:
循环体
2)说明:
a. for - 关键字;固定写法
b. 变量 - 变量名(已经定义过的和未定义过的都可以)
c. in - 关键字;固定写法
d. 序列 - 可以是任何容器型数据类型的数据,例如:字符串、列表、元组、字典、集合、迭代器、生成器、range
注意:序列中有几个数据,就执几次循环体
e. : - 固定写法
f. 循环体 - 结构上循环体就是和for保持一个缩进的一条或者多条语句(至少一条);
逻辑上循环体就是需要重复执行的代码
3) 执行原理
让变量去序列中取值,一个一个的取,取完为止;每取一个值就执行一次循环体。
如果要控制for循环的循环次数,只需要控制序列中元素的个数。
案例:将‘hello’打印5次
for x in '12345':
print('helo')
(二) 创建等差函数range
1) range(N) - 产生[0,N)的等差数列,差值为1;
举例: range(5)->0,1,2,3,4
2) range(M,N) - 产生[M,N)的等差数列,差值为1;
举例: range(5,10)->5,6,7,8,9
3) range(M,N,step) -> 产生[M,N)的等差数列,差值是step; 举例: range(1,10,2)->1,3,5,7,9
range(6,1,-1)->6,5,4,3,2
注意:range(M,N,step)
M -> 对应等差数列的首项,默认值是0
N -> 对应等差数列的尾项,但首尾不相等
step -> 对应等差数列的差值, 默认值是1
练习1:使用range创建等差函数5
for x in range(5):
print(x)
练习2:使用range创建等差函数1,3,5,7,9
for x in range(1,10,2):
print(x)
(三)for循环的运用
1)累计求和
累计求和套路:
a.定义变量保存最后的和,变量默认值是0;
b.用循环依次获取所有需要求和的数据;
c.再循环中获取到一个需求和数据就用最后保存和的变脸加上这个数据。
eg:用循环求1~50的和
sum = 0
for x in range(1,51):
sum += x
print(sum)
2)统计个数
统计个数的套路:
a.定义变量保存在最后的个数,默认值是0
b.通过循环获取统计对象
c.获得一个通缉对象个数就在原基础上+1
eg:统计1~20中有多少个数能被3整除
count = 0
for x in range(1,20):
if x % 3 == 0:
count += 1
print(count)
(四)while循环
1.while循环
1)语法:
while 条件语句:
代码段(循环体)
2)执行过程
先判断条件语句是否成立,如果成立就执行循环体,执行完循环再判断条件语句是否成立,成立就再执行循环体...以此类推,知道条件不成立循环就结束。
2.for和while的选择
1)原则:能用for循环的时候尽量用for,for解决不了的问题才考虑使用 while循环。
2)for循环能解决的问题:循环次数确定的时候
3)for循环不能解决的问题:
a. 死循环
b. 循环次数不确定(程序员在写代码时无法得知循环次数 - 这个循环的次数由使用者行为来决定)
3.有了break的while循环:
while True:
需要重复执行的操作
if 循环结束的条件:
break
eg:请输入密码 a = '123456'
while True:
value = input('请输入密码:')
if value == a:
break
(五)循环关键字 continue和break
注意:continue和break只能在循环体中使用
1.continue的作用:结束一次循环(结束当此循环)——执行循环的时候如果遇到了continue,那么这次循环结束,进行下次循环。
eg:打印10以内的奇数
for x in range(10): # 方法一
if x % 2 == 0:
count
print(x)
for x in range(10): # 方法二
if x % 2 !=0:
print(x)
2.break的作用:结束整个循环 —— 在执行循环体的时候如果遇到break, 则整个循环直接结束
eg:
for x in range(20):
if x >= 5:
break
print(x) # 0,1,2,3,4