分支结构
1.流程控制
1)顺序执行:从上往下依次执行所有的代码(默认)
print('abc')
print(123)
print('hello')
2)分支结构:根据条件执行某段代码
python中实现分支结构的方式只有一种: if
num = int(input(‘请输入一个整数:’))
3)循环结构:用指定代码重复执行
Python中实现循环结构的方式只有两种:for、while
2.分支结构:if
1)if 单分支结构-满足某个条件就执行某个操作,,不满足就不执行
“”"
语法:
if 条件语句:
代码块
说明:
if - 关键字、固定写法
条件语句 - 可以是任何有结果的表达式;比如:独立的数据、运算表达式(不能是赋值运算)、函数调用表达式
: - 固定写法
代码块 - 和 if保持一个缩进的一条或者多条语句;满足条件才会执行的一条或者多条语句。(至少要有一条语句)
执行过程:先判断条件语句是否为True(如果不是布尔值就先转换成布尔值再判断),如果为True就执行if语句中的代码块,否则就不执行。
“”"
num1 = 101
if num1 < 100:
print('第一个语句')
```
练习:输入一个整数,如果输入的数字是偶数就打印偶数,否者不打印
```python
num2=int(input('请输入一个整数'))
if num2 %2==0:
print('偶数')
练习2:输入年龄,根据年龄值的范围打印成年
` ``python
age=int(input(‘请输入年龄’))
if age>=18:
print(‘成年了’)
### 2)if双某个分支结构-满足某个条件就执行某个操作,不满足就执行另一个操作
"""
if 条件语句:
代码块1
else
代码块2
说明:
else - 关键字,固定写法
- 固定写法
代码块2 - 和else保持一个缩进的一条或多条语句:
执行过程:
先判断条件语句是否为True,如果是就执行代码块1否则执行代码块2
"""
练习3:根据输入年龄的范围,打印'成年人',或者未成年
```python
age = int(input('请输入年龄'))
if age >= 18:
print('成年人')
else:
print('未成年')
3) if多分支结构-满足不同的条件执行不同的操作(后面的条件是在前面的条件不陈规的时候判断的)
“”"
语法:
if 条件语句1:
代码块1
elif:
代码块2
…
else:
代码块N
说明 :elif -关键字,固定写法
这个结构中 elif 可以根据情况有一个或者多个:elif 也可以根据情况有或者没有
执行过程:从前往后依次判断条件语句是否成立,如果哪个条件是成立的,就执行对应的代码块,然后整个结构直接结束
如果不成立,才执行else的代码块
“”"
练习4:根据分数进行等级的判定([0.60)-D,[60-80)-c,[80,90)-b,[90-100)-a)
score=int(input('请输入'))
if 0<=score<60:
print('等级为D')
elif 60<=score<80:
print('等级是C')
elif 80<=score<90:
print('等级是b')
elif 90<=score<=100:
print('等级是A')
else:
print('输入有误')
判断一个数是否是偶数,同时判断它是否能被4整除
num =10
if num & 1==0:
print('偶数')
if num %4 ==0:
print('4的倍数')
for 循环
循环:让代码重复执行
1.for循环
“”"
语法:
for 变量 in 序列:
循环体
说明:
for -关键字:固定写法
变量 - 可以是已经赋值过的变量也可以是没有赋值过的变量
in -关键字:固定写法
序列-任何容器型数据类型的数据:字符串、列表、元祖、集合、子弹、迭代器、生成器、range。。
: -固定写法
循环体-和for保持一个缩进一条或者多条语句:需要被重复执行一条或者多条语句
执行过程:
让变量去序列中取值,一个一个的取,取完为止,每取一个值执行一次循环体。
(for 循环的循环次数由序列中元素的个数决定)
“”"
for x in 'hello':
print(x)
print('==========')
写一个循环将打印 10 的操作执行3次
for x in 'aaa':
print(10)
2.range函数-用来产生指定范围内的数字序列
1)range(n)-产生 0~N-1的数字序列(N必须是正整数)
range(3)#-0,1,2
for x in range(6):
print('xxxx',x)
2)range(M,N)-产生M~N-1 的数字序列(M,N是整数,M<N)
range(5,11):#5,6,7,8,9,10
print('=====')
for x in range(5,11):
print(x)
for x in range(-5,5):
print(x)
写一个循环将打印 10 的操作执行100次
for x in range(100):
print(10)
3)range(M,N,step)
range(1,10,2):#1,3,5,7,9
range(10,0,-1):#10,9,8,7,6,5,4,3,2,1,
print('========')
for x in range(5,2,-1):
print(x)
print('=========')
for x in range(1,101,2):
print(x)
练习1:统计0-100中能被3整除的所有数
for x in range(1,101):
if x%3==0:
print(x)
for x in range(3,100,3):
print(x)
练习2:打印0-100中能被3整除并且个位数是3的多有数
for x in range(1,101):
if x%3==0 and x%10==3:
print(x)
print('==================')
练习3:统计100~200之间能够被3整除但是不能被2整除的数的个数
count=0
for x in range(100,201):
if x%3==0 and not x %2==0:
count+=1
print(x)
练习4: 计算1+2+3+…100的和
num=0
for x in range(1,101):
num +=x
print(num)
“”"
num=0
x =1,2,3,4
x = 1:num+=x -> num+=1 -> num=num+1
x = 1:num+=num ->num+2->num=num+2=1+2
…
print(num) #10
“”"
while 循环
1.while循环
“”"
语法:
while 条件语句:
循环体
说明:
while-关键字,固定写法
条件语句-任何有结果的表达式;独立的数据、运算表达式(不能有赋值运算符)
、函数调用表达式
: - 固定写法
循环体 -和while保持一个缩进的一条或者多条语句;需要重复执行的语句;
执行过程:
先判断条件语句是否为True,如果是就执行一次循环体,执行完再判断条件语句是否为True,为True再执行循环体以此类推,直到条件语句的结果是False循环就结束
“”"
练习1:执行10次打印’hello’的操作
“”"
变量num=0
while 变量<次数:
需要重复执行的操作
变量+=1
“”"
num = 0
while num < 10:
print('hello')
num += 1
“”"
num = 0
num <4(True):print(‘hello’);num += 1 -> num =num +1= 1
num <4(True):print(‘hello’);num += 1 -> num= num +1=1+1=2
…
“”"
练习:1+2+3.。。+10
num=0
sum1=0
while num<100:
print(num)
num+=1
sum1+=num
print(sum1)
print('==========')
练习:统计所有的两位中个位数加上十位数是5的数字个数(并且打印符合要求的数字)
num=10
count=0
while num<99:
num+=1
if num//10+num%10==5:
count+=1
print(num)
print(count)