day4-分支和for循环

day4-分支和for循环

补充:id(数量) - 获取数量的地址

​ 例如:

num = 100

print(id(num))

num=200

print(id(num))

补充:and和or的短路操作

条件1 and 条件2 - 当条件1是false,条件2对应的代码不会执行

条件1 or 条件2 - 当条件1是true,条件2对应的代码不会执行


01)流程控制 - 根据代码执行方式不同,将执行方式分为三种:

1、循环结构(默认):代码从上往下一条一条的执行,每条语句只执行一次

2、分支结构:可根据条件执行或者不执行相关操作(选择执行代码) - if

3、循环结构:让代码重复执行(代码只写一遍,可以重复执行多次) - for、while


02)if分支结构

1、if单分支结构****(如果…就…)****

语法:

if 条件语句:

代码段

说明:if - 关键字;固定写

条件语句 - 可以是任何有结果的表达式,例如:运算表达式、具体的数据、已经赋值过的变量等(除了赋值语句)

:(冒号) - 固定写法(冒号必须是英文输入法下面的冒号)

代码段 - 结构上就是和if保持一个缩进或者多条语句(至少一句);逻辑上代码段就是满足条件才会执行的代码

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

​ 例如:

如果age大于等于18就打印“成年”

age = 20

if age >= 18

​ print(’成年‘)

练习:判断num是否是偶数,如果是就打印’偶数’

num = 210

if num % 2 == 0:

​ print(‘偶数’)

pass表示占位 没有实际意义

2、if双分支结构 - 满足某个条件执行某个操作,这个条件不满足的时候就执行另外一个操作,如果…就…否则就…)

语法:

if 条件语句:

代码段1(条件成立的时候需要执行的代码)

else:

代码段2(条件不成立的时候需要执行的代码)

​ 例如:

练习1:如果age的值不小于18就打印’成年’否则打印’未成年’

age = 23

if age < 18:
print(‘未成年’)
else:
print(‘成年’)

练习2: 根据num的奇偶性打印’奇数’或者’偶数’

num = 230

方法1:

if num % 2 == 0:
print(‘偶数’)
else:
print(‘奇数’)

方法2(慢慢来理解和接受):

if num % 2:
print(‘奇数’)
else:
print(‘偶数’)

练习3:判断num是否是水仙花数,如果是就打印’是水仙花数’,否则打印’不是水仙花数’

水仙花数:一个三位数,它各个位数的立方和等于这个数本身,比如:153 == 13 + 53 + 3 ** 3

num = 153

获取百位数、十位数和个位数

h = num // 100
t = num // 10 % 10
u = num % 10

判断各个位数的立方和和数本身是否相等

if h3 + t3 + u**3 == num:
print(‘是水仙花数’)
else:
print(‘不是水仙花数’)

3、if多分支结构 - 根据不同的条件执行不同的操作(如果…就…如果…就…如果…就…)

方案一 – 如果多个条件之间不存在’其中一个满足另外的的条件一定不满足‘的关系的时候使用

if 条件语句1:

代码段1

if 条件语句2:

代码段2

if 条件语句3:

代码段3

方案二 – 如果多个条件之间存在’其中一个满足另外的的条件一定不满足‘的关系的时候使用

if 条件语句1:

代码段1

elif 条件语句2:

代码段2

elif 条件语句3:

代码段3

… …

else:

代码段N

​ 例如:

案例:给百分制分数打A(90 ~ 100)、B(8089)、C(6079)、D(60分以下)的等级

score = 99
if 90 <= score:
print(‘A’)
if 80 <= score < 90:
print(‘B’)
if 60 <= score < 80:
print(‘C’)
if score < 60:
print(‘D’)

score = 8
if score >= 90:
print(‘A’)
elif score >= 80:
print(‘B’)
elif score >= 60:
print(‘c’)
else:
print(‘D’)

4、if嵌套

​ 例如:

练习:如果num是偶数就打印’偶数’, 是奇数就打印’奇数’, 如果能被4整除打印’4的倍数’

num = 20

21 - 奇数

6 - 偶数

20 - 偶数、4的倍数

print(‘奇数’)

print(‘偶数’)

print(‘4的倍数’)

if num % 2 == 0:
print(‘偶数’)
if num % 4 == 0:
print(‘4的倍数’)

else:
print(‘奇数’)

02)for循环

1、for循环(循环的作用:让代码重复执行)

语法:

for 变量 in 序列:

循环体

说明:

for、in - 关键字、固定用法

变量 - 可以是已经定义过的变量的变量名,也可以是临时创建的变量名

序列 - 容器型数据类型的数据,例如:字符串、列表、元组、字典、迭代器、生成器、range等

:(冒号) - 固定写法(冒号必须是英文输入法下面的冒号)

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

执行原理

让变量去序列中取值,一个一个的取值,取完为止,没取一个值就执行一次循环体

for循环的循环次数由序列中数据的个数决定

​ 例如:

for A in ‘abc89’:

​ print(‘hello world’)

2、range函数 - 创建一个等差数列

**range(N) - 创建一个从0到N-1的等差数列,差是1;**比如range(5):0,1,2,3,4

range(M,N) - 创建一个M到N-1的等差数列,差是1;比如range(10,15):10,11,12,13,14

***range(M,N,step) - 创建一个从0到N-step的等差数列,差是step;**比如(3,15,3):3,6,9,12

​ 例如:
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 (25)

for x in range(13, 23, 3):
print(x)

练习2:写程序创建一个等差数列:5 3 1 -1 -3 (-5)

for x in range(5, -4, -2):
print(x)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值