1.分支结构
pthon中的分支结构只有if
1)结构:满足某个条件才执行某段代码
a.语法:if 条件语句:
代码段
b.说明:if 是关键词,固定写法
条件语句—可以是一个具体的数据,也可以是赋过值的量,(但不能是赋值语句,其他都有可以)
:——是固定写法
代码段—— 一条或者多条跟if保持缩进的语句(任何语句)
c.执行过程:先判断条件语句,如果是True就执行下面的代码段,再执行其他语句,如果是False就不执行下面的代码段,直接执行其他语句
例:输入一个数,如果是偶数就打印“偶数”,如果不是就执行其他语句
num = int(input('输入一个整数:'))
if num % 2 == 0:
print('偶数')
2)结构2:if else——满足一个条件执行if下面的代码段,如果不满足执行else的代码段
a.语法:if 条件语句:
代码段
else:
代码段
b.说明:if/else是关键词,固定写法
条件语句 - 可以是一个具体的数据,也可以是一个已经赋值过的变量,或者是运算表达式(不能是赋值语句
:- 固定语句
代码1 - 和if保持一个缩进的一条或者多条语句(满足if后面的条件才会执行)
代码2 - 和else保持一个缩进的一条或者多条语句(If后面的条件不成立才会执行)
例:输入一个数,如果是偶数就打印偶数,否则打印奇数
num = int(input(‘输入一个数:’))
if num %2 == 0:
print('偶数')
else:
print('奇数')
3)结构3:if elif else ——条件有多个时,根据条件执行代码段
a.语法:
if 条件语句:
代码段
elif 条件语句:
代码段
elif条件语句:
代码段
else:
代码段
b.执行方式:if语句不满足时,执行elif语句, elif语句1满足时执行下面代码段,不满足就执行elif2,以此类推,都不满足时就执行else下方的代码段
例:根据输入的年龄值,判断年龄处于的阶段
0-3幼儿;4-12儿童;13-18青少年;19-28青年;29-50中年;50以上老年
age = int(input('输入一个年龄(0-100):'))
if age <= 3:
print('幼儿')
elif age <=12:
print('儿童‘)
elif ...
else:
print('老年')
if的语句嵌套
在if,elif,else,后面的代码段中,还可以写其他的if语句
练习:输入一个数,如果这个数是偶数,打印'偶数',如果是奇数打印'奇数',如果这个数能被4整除就打印'4的倍数'
num = int(input(‘输入一个数:’))
if num % 2 == 0:
print(偶数)
if num % 4 == 0:
print(4的倍数)
else:
print(奇数)
2.循环
python里面只有 for in和while的循环语句——某段代码需要重复去执行就用循环
1)for循环
语法:for 变量 in 序列:
循环体
说明:
for——关键字
变量名——要求和声明变量的变量名一样
序列——容器型数据类型的数据;列如:字符串,元祖,字典,集合....
循环体——和for保持一个缩进的一条或者多条语句;循环体中的代码就是需要重复执行的代码
执行过程:让变量去取序列中的数值,一个个的取,取完为止。每取一个值执行一次循环体(python中控制循环次数的就是序列中的个数来控制的)
例:
for num in '10086'
print(num) ->得到 1,0,0,8,6 这5个数就停止运行
练习:打印10行’==='
for num in '0123456789'
print('===')
range函数——产生指定范围内的数字序列
range(N)- 产生0~N-1的数字序列
range(M,N) - M~N-1的整数数列 (range(M,N,1))
range(M,N,step) - 从M开始每次加step产生下一个数,直到N前一个为止
练习2:统计100以内能够被2整除,但是不能被3整除的数的个数
套路2:统计个数的套路
sum = 0
for num in range(100):
if num % 2 ==0 and num % 3 != 0:
num += 1
print(sum)
while循环
语法:
while 条件语句:
循环体
其他语句
说明:
while - 关键字
条件语句 - 除了赋值语句外,任何有结果的表达式都可以
循环体 - 和while保持一个缩进的一条或者多条语句;(需要重复执行的代码就放在循环体里面)
执行过程
先判断条件语句是否为True,如果为True,就执行循环体;
执行完循环体再判断条件语句是否为True,为True又执行循环体
...
以此类推
当判断语句的结果为False的时候,整个循环结束,执行后面的其他语句
4)for和while循环怎么选?
循环次数确定的时候用for循环
循环次数不确定和死循环要使用while循环
num = 0
while num < 5:
print(num, '===')
num += 1
continue
continue是只能出现在循环体中的关键字;
当执行循环体的时候遇到了continue,当次循环直接结束,执行进入下次循环的判断
for x in range(10):
print('==')
continue 原本是要打印10次 == 和X 出现continue时,X就不打印了,只打印==
print(x)
练习:计算1-99中不能被7整除的数的和
sum1 = 0
num = 0
while num < 100:
num += 1
if num % 7 ==0:
continue
sum1 += num
print(sum1)
break
只能用在循环体中的关键字;
当执行循环体的时候,如果遇到break整个循环直接结束
for x in range(10):
print(x)
print('==')
break
print('****')
print(x)
3.else
for 变量 in 序列:
循环体
else:
代码段
while 条件语句:
循环体
else:
代码段
执行过程:如果循环自然死亡(自然结束) else后面的代码会执行;
如果循环是因为遇到break而结束,else后面的代码段不会执行
for x in range(4):
print(x, '==')
break
else:
print('++++')