04控制语句(条件、循环)

目录

一、流程控制

1. 顺序结构

2. 分支结构

3.循环结构

二、if分支结构

1. if单分支结构

2.if双分支结构

3.if多分支结构

三、for循环

1. 语法介绍

2.range函数

 3. for循环的使用

① 统计个数

②  累计求和

四、while循环

1. 语法介绍

2. 使用情况说明

五、循环关键字

1. continue - 结束一次循环

2. break - 结束整个循环

3. 当while遇到break


一、流程控制

根据代码执行过程的特点可以代码的结构分为三种:顺序结构、分支结构、循环结构

1. 顺序结构

代码从上往下一条一条地执行,每一条语句只执行一次(默认)

print(100)
print('hello world!')
a = 1000
print(a)
a += 20
print(a)

   

2. 分支结构

根据条件选择执行或者不执行相关操作(if)

num = 29
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')

   

3.循环结构

可以重复执行代码(for、while)

for x in range(5):
    print('python')

  

二、if分支结构

1. if单分支结构

如果xxx就xxx(满足条件的时候执行某个操作,条件不满足的时候这个操作就不执行)

语法:

    if 条件语句:
        代码段 

说明:

if关键字,固定写法
条件语句一般是判断语句
:固定写法
代码段结构上,是和if保持一个缩进(可以是4个空格,也可以是一个tab)的一条或者多条语句(至少一条)
逻辑上,代码段就是条件成立的时候才会执行的代码

# 案例:根据age的值在控制台打印'成年'
age = 29
if age >= 18:
    print('成年')
print('=====')

2.if双分支结构

如果xxx就xxx否则就xxx(满足条件的时候执行某个操作,条件不满足的时候执行另外的操作) 

语法:

    if 条件语句:
        代码段1(满足条件的时候需要执行的代码)
    else:
        代码段2(不满足条件的时候需要执行的代码)

# 案例:根据num的值在控制台打印'奇数'或者'偶数'
num = 23
if num % 2 != 0:
    print('奇数')
else:
    print('偶数')

3.if多分支结构

如果xxx就xxx,如果xxx就xxx,如果xxx就xxx...(根据不同的条件执行不同的操作)

语法1:根据不同的条件执行不同操作,其中一个条件成立另外的条件绝对不会成立的时候使用

    if 条件1:
        代码段1
    elif 条件2:
        代码段2
    elif 条件3:
        代码段3
    ...
    else:
        代码段N

 语法2:根据不同的条件执行不同操作,其中一个条件成立另外的条件也可能会成立的时候使用

    if 条件语句1:
        代码段1
    if 条件语句2:
        代码段2
    if 条件语句3:
        代码段3
    ....
# 案例:根据score的值打印A(>=90)、B[80, 90)、C[60, 80)、D(<60)
score = 39
if score >= 90:
    print('A')
elif score >= 80:
    print('B')
elif score >= 60:
    print('C')
else:
    print('D')

三、for循环

1. 语法介绍

语法:

    or 变量名 in 容器:
        循环体

说明:

for关键字;固定写法
变量名任何合法的变量名
in关键字;固定写法
容器

任何容器型数据类型的数据,常见的容器:

字符串、列表、字典、元组、集合、迭代器、生成器、range

一个容器中可以同时保存多个值。

:固定写法
循环体结构上,循环体就是和for保持一个缩进的一条或者多条语句(至少一条)
逻辑上,循环体就是需要重复执行的代码

 循环原理:

让变量去容器中取值,一个一个地取,取完为止,每取一个值就执行一次循环体。

for循环的循环次数,有容器中数据的个数决定

for x in 'abcde':
    print(x, 'hello world!')
    print('=======')

 

2.range函数

创建等差数列。

range函数的M取值永远是你想输出的范围的第一个元素,N取值分为2种:① 递增数列则是最后一个元素加1;② 递减数列则是最后一个元素减1.

range(N)创建[0,N),差为1的等差数列
range(5): 0 1 2 3 4
range(10): 0 1 2 3 4 5 6 7 8 9
range(M, N)创建[M,N),差为1的等差数列
range(3, 10): 3 4 5 6 7 8 9
range(10,21): 10 11 12 ... 19 20
range(M, N, step)创建[M,N),差为step的等差数列
range(2,11,2): 2 4 6 8 10
range(9,2,-2): 9 7 5 3

练习: 

# 练习:使用range函数创建以下等差数列
# 0 1 2 3 4 ... 100
# range(0, 101, 1)
range(101)

# 10 11 12 ... 99
range(10, 100)

# 100以内所有能被3整除的数: 3 6 9 12 ... 99
range(3, 100, 3)

# -3 -2 -1 0 1 2
range(-3, 3)

# 1 3 5 7 9
range(1, 10, 2)

# 10 20 30 40 50
range(10, 51, 10)

# 99 98 97 96 95
range(99, 94, -1)

# 2 1 0 -1 -2
range(2, -3, -1)

 3. for循环的使用

① 统计个数

案例:

 案例1:统计nums中偶数的个数
nums = [192, 23, 890, 34, 781, 198]
count = 0
for x in nums:
    if x % 2 == 0:
        count += 1
print(count)    # 4

 练习:

# 练习1:统计100~200中能被3整除但是不能被5整除的数的个数
count1 = 0
for i in range(100,201):
    if i % 3 == 0 and i % 5 != 0:
        count1 += 1
print('100~200中能被3整除但是不能被5整除的数的个数:', count1)

# 练习2:统计nums中个位数大于5的数字的个数
nums = [192, 23, 890, 34, 781, 198]
count2 = 0
for j in nums:
    if j % 10 > 5:
        count2 += 1
print('nums中个位数大于5的数字的个数:', count2)

# 练习3:统计0~100中偶数的个数
count3 = 0
for k in range(101):
    if k % 2 == 0:
        count3 += 1
print('0~100中偶数的个数:', count3)

 

②  累计求和

案例:

# 案例1:求nums中所有元素的和
nums = [192, 23, 890, 34, 781, 198]
sum1 = 0
for x in nums:
    sum1 += x
print(sum1)    # 2118


# 案例2:求nums中所有奇数元素的和
nums = [192, 23, 890, 34, 781, 198]
sum1 = 0
for x in nums:
    if x % 2 != 0:
        sum1 += x
print(sum1)    # 804

练习:

# 练习:求nums中所有元素的个位数的和
nums = [192, 23, 890, 34, 781, 198]
sum1 = 0
for x in nums:
    sum1 += x % 10
print(sum1)    # 18

四、while循环

1. 语法介绍

语法:

    while 条件语句:
        循环体

循环原理:

 不断判断条件语句是否成立,如果成立就执行循环体,如果不成立循环直接结束。

x = 0
while x < 10:
    print('hello world!')
    x += 1
# for x in range(0, 101, 2):
#     print(x)

x = 0
while x <= 100:
    print(x)
    x += 2

# 两种方法输出100以内的偶数

2. 使用情况说明

循环次数不确定的时候使用while。

# 方法一
# 练习:提示用户输入密码,直到输入正确为止
password = '123456'
# pw = None
pw = input('请输入密码:')
while pw != password:
    pw = input('请输入密码:')

# 方法二
# 练习:提示用户输入密码,直到输入正确为止
password = '123456'
print('请输入密码:')
while 1:
    pw = input()
    if pw == password:
        print('登陆成功!')
        break
    else:
        print("密码错误!!!")
        print('请重新输入密码:')

 

五、循环关键字

1. continue - 结束一次循环

执行循环体的时候如果遇到continue,这次循环结束,直接进入到下一次循环

# 1
for x in range(5):
    print('hello')
    continue
    print('python')
    print(100)


# 2
for x in range(1, 10):
    if x % 3 == 0:
        continue
    print(x)

# 3
for x in range(1, 10):
    if x % 3 != 0:
        print(x)

   

2. break - 结束整个循环

执行循环体的时候如果遇到了break,整个循环直接结束(本次没有执行完的部分不再执行,也不

进入下一次循环)

# 1
for x in range(5):
    print('hello')
    break
    print('python')
    print(100)

# 2
for x in range(1, 10):
    print(x)
    if x % 3 == 0:
        break

 

3. 当while遇到break

给初学的建议:

while True:
    需要重复执行操作
    if 循环结束的条件:
        break
# 练习:提示用户输入密码,直到输入正确为止
password = '123456'
while True:
    pw = input('请输入密码:')
    if password == pw:
        break

  • 36
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值