pythonday04学习总结

python day 04学习总结

1.流程控制

1.分类

根据代码执行方式不同,将执行方式分为三种:

1.顺序结构(默认):代码从上往下一条一条的执行,每条语句只执行一次
2.分支结构:可根据条件执行或者不执行相关操作(选择执行代码)- if
3.循环结构:让代码重复执行(代码只写一遍,可执行多次)- for,while

2. if分支结构

1.分类

1. if单分支结构

定义:满足某个条件才执行的某个操作,这个不满足的时候这个操作就不执行;相当于:如果…就…

1)语法:

if 条件语句:
代码段

2)说明:

if关键字;固定写
条件语句可以是任何有结果的表达式(不能是赋值语句),例如:运算表达式、具体的数据、已经赋予过的变量等。
固定写法(冒号必须是英文输入法下面的冒号)
代码段结构上就是和if保持一个缩进的一条或者多条语句(至少一条);逻辑上代码段就是满足条件才会执行的代码。

3)执行过程

先判断条件语句是否为True(如果条件语句的结果不是布尔,将结果转换成布尔再判断),如果为True就执行代码段然后再执行后续的其他语句;否则就不执行代码段直接执行后续的其他语句。

2. if双分支结构

定义:满足某个条件执行某个操作,这个条件不满足的时候就执行另外一个操作。如果…就…否则就…

语法:

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

3. if多分支结构

定义:根据不同的条件执行不同的操作。如果…就…如果…就…如果…就…如果…就…

方案一 - 如果多个条件之间不存在‘其中一个满足另外的条件一定不满足’的关系的时候使用
if 条件语句1:
代码段1
if 条件语句2:
代码段2
if 条件语句3:
代码段3
方案二 - 如果多个条件之间存在‘其中一个满足另外的条件一定不满足’的关系的时候使用
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3

else:
代码段N

代码
# 练习1: 如果age的值不小于18就打印'成年'否则打印'未成年'
age = 17
if age >= 18:
    print('成年')
else:
    print('未成年')

# 练习2: 根据num的奇偶性打印'奇数'或者'偶数'
# 方法一:
num = 22
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')
# 方法二:
if num % 2:
    print('奇数')
else:
    print('偶数')

# 练习3:判断num是否是水仙花数,如果是就打印'是水仙花数',否则打印'不是水仙花数'
# 水仙花数:一个三位数,它各个位数的立方和等于这个数本身,比如:153 ==  1**3 + 5**3 + 3 ** 3
num = 231
# 获取百位数、十位数和个位数
h = num // 100
t = num // 10 % 10
u = num % 10
# 判断各个位数的立方和和数本身是否相等
if h**3 + t**3 + u**3 == num:
    print('是水仙花数')
else:
    print('不是水仙花数')
# 案例:给百分制分数打A(90 ~ 100)、B(80~89)、C(60~79)、D(60分以下)的等级
score = 70
if 90 <= score:
    print('A')
elif 80 <= score:
    print('B')
elif 60 <= score:
    print('C')
else:
    print('D')
4.嵌套

代码

练习:如果num是偶数就打印'偶数', 是奇数就打印'奇数', 如果能被4整除打印'4的倍数'
num = 19
if num % 2 == 0:
    print('偶数')
    if num % 4 == 0:
        print('4的倍数')
else:
    print('奇数')

3. for循环

1.语法

for 变量 in 序列:
循环体

2.说明

for,in关键字;固定写法
变量变量名;可以是已经定义过的变量名也可以是临时创建的变量名
序列容量型数据类型的数据,例如:字符串、列表、元组、字典、集合、迭代器、生成器、range等
固定写法
循环体结构上就是和for保持一个缩进的一条或者多条语句(至少一条);逻辑上就是需要重复执行的代码

3.执行原理

让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。
for循环的循环次数由序列中数据的个数决定。

4.代码
# print('hello world!')
for x in 'abc':
    print(x, 'hello world!')

4. range函数

range(N)创建一个0到N-1的等差数列,差是1; 例如range(5):0,1,2,3,4
range(M,N)创建一个M到N-1的等差数列,差是1;例如,range(10,20)->10,11,12,13,…19
range(M,N,step)创建一个(M,N)的等差数列,差是step;例如,range(2, 20, 2)->2,4,6,8,10,12,14,16,18 range (2, 20,-2)->空 range (20, 2,-2)->20,18,16,14,12,10,8,6,4,
代码
for x in range(5):
    print(x)

for x in range(10, 20):
    print(x)
for x in range(20, 2, -2):
    print(x)
习题
# 练习1:写程序创建一个等差数列:13 16 19 22
for x in range(13, 23, 3):
    print(x)
# 练习2:写程序创建一个等差数列:5 3 1 -1 -3
for x in range(5, -4, -2):
    print(x)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值