分支和循环

分支结构

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必须是正整数)

 range3#-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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值