分支结构
# python中的分之结构只有if语句
# if语句
'''
1)结构1:满足某个条件才执行某段代码
a.语法
if 条件语句:
代码段
其他语句
b.说明:
if --- 关键字,固定写法
条件语句 --- 可以是一个具体的数据,也可以是一个已经赋值过的变量,或者是运算表达式(不能是赋值语句)
: -- 固定写法
代码段: --- 一条或者多条和if保持一个缩进的语句(任何语句)
c.执行过程:
先判断条件语句的结果是否为True(如果不是布尔就先转换成布尔)
如果为True就执行代码段,然后执行其他语句,如果是False,不执行代码段,直接执行其他语句
2)结构2:满足某个条件执行条件代码,不满足这个条件的时候执行另一段代码(if - else)
a.语法:
if 条件语句:
代码段1
else:
代码段2
b.说明:
if/else -- 关键字,固定写法
条件语句 --- 可以是一个具体的数据,也可以是一个已经赋值过的变量,或者是运算表达式(不能是赋值语句)
: -- 固定写法
代码段1: --- 和if保持一个缩进的一条或者多条语句(满足if后面的条件才会执行)
代码段2: --- 和else保持一个缩进的一条或者多条语句(不满足if后面的条件才会执行)
执行过程:先判断条件语句是否为True,如果为True就执行代码段1,否则执行代码段2
3)结构3:条件有多个(有关联)的时候执行不同的代码段(if - elif -elif -··· - elif)
a.语法
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
···
else:
代码段N
其他语句
执行过程:
先判断条件语句1是否为True,如果为True就执行代码段1,然后整个if结构执行其他语句,如果语句1为False,就判断条件语句2,以此类推
如果所有的条件语句都是False,就执行代码段N,再执行其他语句
补充:布尔值转换 --- python中所有的数据都能转换成布尔,
所有为0为空的值都会转换成False,其他都是True
'''
#例子
num = int(input('请输入一个整数:'))
if num % 2 == 0: # if num & 1 == 0
print('偶数')
age = int(input('输入年龄:'))
if age >= 18:
print('可以进网吧')
else:
print('不可以进网吧')
age = int(input('输入年龄:'))
if age <= 4:
print('幼儿')
elif 5 <= age <= 12:
print('儿童')
elif 13 <= age <= 18:
print('青少年')
elif 19 <= age <= 28:
print('青年')
elif 29 <= age <= 40:
print('壮年')
elif 41 <= age <= 60:
print('中年')
else:
print('老年')
# if语句嵌套
# 在if结构中的if、else、elif后面的代码中,还可以其他的if语句
num = int(input('请输入一个整数:'))
if num & 1 == 0:
print('偶数')
if num % 4 == 0:
print('4的倍数')
else:
print('奇数')
for循环
# python中是循环有两种:for-in循环和while循环
# 解决的问题:如果某段代码需要重复执行,就使用循环结构
# for循环
'''
1)语法
for 变量 in 序列:
循环体
2)说明
for - 关键字
变量名 - 要求和声明变量的时候的变量名一样
in - 关键字
序列 - 容器型数据类型的数据,例如:字符串,列表,元祖,字典,集合,迭代器,集成器,range
循环体 - 和for保持一个缩进的一条或者多条语句;循环体中的代码就是需要重复执行的代码
3)执行过程
让变量去序列中取值,一个一个的取,取完为止;每取一个值执行一次循环体。
(python中控制for循环的循环次数,是通过控制in后面序列元素的个数来控制的)
'''
# range函数- 产生指定范围内的数字序列
'''
range(N) --- 产生0到N-1的整数数列
range(M, N) --- 产生M到N-1的整数数列
range(M, N, step) --- 从M开始每次加step产生下一个数,直到N前一个为止
'''
1加到100
n = 0
for x in range(101):
n += x
print(n)
# 统计100以内能够被2整除,但不能被3整除的数的个数
count = 0
for num in range(101):
if num & 1 == 0 and num % 3 != 0:
count += 1
print('个数:', count)
while循环
# while循环
'''
1)语法
while 条件语句:
循环体
2)说明
while - 关键字
条件语句 - 条件语句 --- 可以是一个具体的数据,也可以是一个已经赋值过的变量,或者是运算表达式(不能是赋值语句)
: -- 固定写法
循环体-- 和while保持一个缩进的一条或者多条语句(需重复的在循环体中)
3)执行过程
先判断条件语句是否为Ture是的话就执行循环体执行完之后在判断···
当判断为False时循环结束,执行后面的程序
4)for和while循环怎么选
循环次数确定时用for,反之用while,死循环也要用while
'''
# 输入数字直到输入0为止:
num = int(input('请输入数字:'))
while num != 0:
num = int(input('请输入数字:'))
print(num)
# 输入数字,直到输入的数字为0,统计其中偶数的个数:
count = 0
num = int(input('请输入数字:'))
while num != 0:
if num & 1 == 0:
count += 1
num = int(input('请输入数字:'))
print(count)
三个循环关键字
# 1.continue
'''
只能出现在循环体中的关键字
当执行循环体的时候遇到了continue,当次循环结束,执行进入下次循环的判断
'''
# 2.break
'''
只能用在循环体中的关键字;
执行循环体的时候,如果遇到break整个循环直接结束
'''
# 100000 1+2+···+x+···和最接近的x值
a = 100000
sum1 = 0
num = 1
while True:
sum1 += num
if sum1 > a:
print(num - 1)
break
num += 1
# 3.else
'''
当循环自然结束else后面的代码段不受影响,如果遇到break则循环不会执行(else后面的代码段不会执行)
'''