分支和for循环-day3

分支和for循环

01if分支结构

1)if单分支结构

满足某个条件才能执行某个操作,这个不满足的时候这个操作就不整型。相当于:如果。。。 就。。。

if:关键字,固定写

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

代码段:结构上就是if保持一个缩进的一条或这多条语句》)至少一条,逻辑上就是代码段满足条件才会执行代。

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

用法如下:

#案例:如果age的值大于等于18就打印'成年'
age = 12
# if age += 18: #不能为赋值语法,会报错
#     pass
if age >= 18:
    print('成年!')
    print('可以饮酒')
print('不能饮酒')

2)if双分支结构

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

用法如下:

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

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

# 练习3:判断num是否是水仙花数,如果是就打印'是水仙花数',否则打印'不是水仙花数'
# # 水仙花数:一个三位数,它各个位数的立方和等于这个数本身,比如:153 ==  1**3 + 5**3 + 3 ** 3
num = 153
if (num // 100)**3 + ((num - (num // 100) * 100) // 10)**3 + (num % 10)**3 == num:
    print('是水仙花数')
else:
    print('不是水仙花数')

3)if多分支结构

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

用法如下:

# 案例:给百分制分数打A(90 ~ 100)、B(80~89)、C(60~79)、D(60分以下)的等级
# 方案一:
score = 33
if score >= 90:
    print('A')
if 80 <= score <= 89:
    print('B')
if 60 <= score <= 80:
    print('C')
if score < 60:
    print('D') #如果多个条件之间不存在‘其中一个满足另外的条件一定不满足’的关系的时候才使用
# 方案二:
score = 84
if score >= 90:
    print('A')
elif 80 <= score:
    print('B')
elif 60 <= score:
    print('C')
else:
    print('D') #如果多个条件之间存在‘其中一个满足另外的条件一定不满足’的关系的时候才使用

4)if嵌套

用法如下:

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

02for循环

1)for循环

  • 语法:
    for 变量 in 序列:
    循环体

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

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

    用法如下:

# print('hello world!')
for i in '12345':  #循环5次
    print('hello world!')
    print('好好学习')  
for i in range(10):  #循环10次
    print(i, 'need you')
for i in '羊羊羊':   #循环3次
    print('ds')

2)range函数

创建一个等差数列。

range(N) - 创建一个0-N-1的等差数列[0,1),差是1;例如:range(5):0,1,2,3,4。
range(M, N) - 创建一个M到N-1的等差数列[M,N),差是1;例如:range(10,20):10-19。
range(M, N, step) - 创建一个M到N-1的等差数列[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 i in range(101):
    print('999')
print('---------------------------------')
for i in range(10, 20):
    print(i)
print('---------------------------------')
for i in range(20, 2, -2):
    print(i)
print('---------------------------------')
# 练习1:写程序创建一个等差数列:13 16 19 22
for i in range(13, 25, 3):
    print(i)
print('---------------------------------')
# 练习2:写程序创建一个等差数列:5 3 1 -1 -3
for i in range(5, -5, -2):
    print(i)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值