kaikefourday

python基础知识第三节(9.16)

大概内容:

  • if 的分支结构

  • for 循环

    1、流程控制

    1.流程控制 - 三种结构

    1)顺序结构(默认) - 代码从上往下一条一条的执行,每一天只执行依次

    2)分支结构(if) - 可以根据某个条件选择执行某段代码

    3)循环结构(for,while) -让代码重复执行

# 顺序结构
# print('你好')
# print('hello,world')
# print('hello  python')

# print('启动程序加载静态资源')
# print('检测网络状态')
# print('链接爱奇艺服务器,获取网络数据')
# print('提示无望了可用')
# print('加载本地缓存数据')
# 循环结构
# for _ in range(100):
#     print('我爱你')

2、if分支结构

1)单分支结构 - 满足某个条件就执行某个操作,如果这个条件不满足,这个操作就不执行。

“”"
语法:
if 条件语句:
代码段
说明:
a. if - 关键字,固定写法
b.条件语句 - 可以是任何有结构的表达式,例如:数据,已经赋值过的变量,运算表达式,函数调用表达式(赋值语句不可以)
c. : - 固定写法,英文的输入状态下的
d. 代码段 - 和if保持一个缩进的一条或者多条语句(至少一条pass);就是在满足条件的时候才会执行的代码

执行过程:
if xxx(条件语句) 就 xxx(代码段)
先判断条件语句是否为True(如果条件语句的结果不是布尔就先转换成布尔再看).如果为True就执行代码段,否则代码段不执行

“”"

注意:赋值语句不能作为if后面的条件

注意:if 后面的代码段至少要有一条语句.

print('================华丽的分割线=============')
if 100:
    print('a')
    print('b')
print('c')
if 0:
    print('A')
    print('B')
print('C')
# 注意:赋值语句不能作为if后面的条件
# if a = 0:
#     print('a')
# 注意:if 后面的代码段至少要有一条语句.
if 10 > 5:
    pass
# 练习1:根据指定的年龄值打印'可以进网吧'
age = int(input('请输入你的年龄:'))
if age > 17:
    print('可以进入网吧')
age = 100
if age >= 18:
    print('可以进网吧')

# 练习2:根据分数值打印'优秀'(90分以上)
score = float(input('请输入你的数学分数:'))
if score >= 90:
    print('成绩优秀')

2)双分支结构 - 满足某个条件就执行某个操作,否则就执行另外一个操作.

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

执行过程: 如果 xxx 就 xxx 否则 就 xxx
“”"

# 练习:根据指定整数的值打印'奇数'或者'偶数'
num = 23
# 方法一
num = int(input('请输入你的整数:'))
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')
# ** 方法二
if num % 2:    # 0,1是1是奇数成立**
    print('奇数')
else:
    print('偶数')

3)多分支结构 - 根据不同的条件做不一样的事情

“”"
方案一:(只能解决多个条件存在:如果其中一个条件成立,那么其他条件绝对不会成立的关系):
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3

else:
代码段N

方案二:(多个条件之间不存在说其中一个条件满足,另外的条件绝对不满足的情况)
if 条件语句1:
代码段1
if 条件语句2:
代码段2

“”"

# 练习:根据分数的范围打印 '优秀' - 90分以上   '良好'  -  80 ~ 90   '及格' - 60~79   '不及格' - 60分以下
# 方案一:
score = 98
if score > 90:
    print('优秀')
elif 80 <= score < 90:
    print('良好')
elif 60 <= score < 80:
    print('及格')
elif score< 60:
    print('不及格')
# 方案二:
if score > 90:
    print('优秀')
elif score >= 80:
    print('良好')
elif score >= 60:
    print('及格')
else:
    print('不及格')
# 熟能生巧
  1. if 嵌套 - if 语句里面有if语句
#  练习:根据指定数的值打印'奇数','偶数','4的倍数'
num = 11
if num % 2 == 0:
    print('偶数')
    if num % 4 == 0:
        print('4的倍数')
else:
    print('奇数')
    if num % 10 ==1:
        print('个位数是1')

3.for循环

  1. for 循环
    “”"
    语法:
    for 变量 in 序列:
    循环体

说明:
a. for - 关键字:固定写法
b. 变量 - 变量名,和定义变量的时候的变量名要求相同
c. in - 关键字:固定写法
d. 序列 - 任何容器型数据类型,比如:字符串,列表,元组,字典,集合,迭代器,生成器,range等
e. : - 固定写法
f. 循环体 - 和for保持一个缩进的一条或者多条语句;需要重复执行的代码

执行过程:
让变量去序列中取值,一个一个的取,取完为止,每取一个就执行一次循环体.
(for 循环循环次数和序列中元素的个数有关)
“”"

# print('===================')
for x in 'abd':
    print(x, '======') # 执行三次

"""
第1次循环:  x = 'a': print(x, '======') --> print('a', '======')
第2次循环:  x = 'b': print(x, '======') --> print('b', '======')
第3次循环:  x = 'd': print(x, '======') --> print('d', '======')
循环结束.
"""

2.range函数 - 产生指定范围的数字序列

“”"
range(N) N正整数 - 产生0到N-1的数字序列,[0,N).例如:range(4) - 0,1,2,3
range(M,N) - 产生M到N-1的数学序列,[M,N).
例如:range(2,6) - 2,3,4,5
range(-2,2)- -2,-1,0,1
range(M,N,step) - [M,N),步长为step(每次增加step)
例如:range(1,10,2) - 1,3,5,7,9
range(10,2,-1) - 10,9,8,7,6,5,4,3
“”"

# 打印100遍'+++'
for x in range(10):
    print(x, '+++')
print('==========================')
for x in range(5, 6):
    print(x, '+++')

for x in range(10, 1, -3):
    print(x)

3.套路一:求和
第一步:定义一个变量默认值是0(这个变量就是用来保存最后的和)
第二步:使用for 循环的变量依次取出需要求和的所有数据
第三步:在循环中变量每取一个值,就往保存和的变量中加一个值

# 1+2+3+...+100
print('==========================')
sum1 = 0
for x in range(1, 101):
    sum1 += x
print(sum1)

scores = [89, 90, 91, 92]
sum1 = 0
for x in scores:
    sum1 += x
print(sum1)

4.套路二:统计个数

# 统计20~100之间偶数的个数
# 方法一:
count = 0
for x in range(20, 101):
    if x % 2 == 0:
        count += 1
print(count)
# 方法二:
count = 0
for x in range(20, 101, 2):
    count += 1
print(count)
# 练习:统计不及格的分数的个数
scores = [30, 89, 99, 39, 50]
count = 0
for x in scores:
    if x < 60:
        count += 1
print(count)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值