Python中的分支和循环前篇

01.if语句

1.什么时候使用if语句

如果某一段代码需要在满足条件的时候才执行就使用if语法

2.怎么使用if语句
2.1) if单分支结构
  • 满足条件执行某个操作,不满足就不执行。
  • 语法:
if 条件语句:(注意缩进和 : )
    代码块(不用缩进自动缩进,手动缩进按Tap就可以)
其他代码(if外面的代码)
  • 说明:
    1.if - 关键字;固定写法
    2.条件语句 - 任何有结果的表达式(具体的数据,除了赋值语句以外的任何运算表达式,条件语句可以是除了赋值语句以外的任何表达式
    ,函数调用表达式)
  1. : - 一定要写。
  2. 代码块 -和if保持一个缩进的一条或者多条语句;需要在满足条件才会执行的代码才写在代码块。
  • 执行过程:
    先判断条件语句是否为True(如果不是布尔就看条件语句结果的布尔值是否为True),为True
    就执行if 里面的代码块否则不执行。
2.2) if 双分支结构
  • 满足条件执行某个操作,不满足执行另一个操作
  • 语法:
if 条件语句:
	代码块1(条件满足要执行代码块1)
else:
	代码块2(条件不满足要执行代码块2)
	
  • 执行过程
    先判断条件语句是否为True(如果不是布尔就转换成布尔)如果为True就执行代码块1,否则就执行代码块2
2.3)if多分支结构
  • 根据不同的条件执行不同的操作。
  • 语法:
if 条件语句1:
	代码块1
elif 条件语句2:
	代码块2
elif 条件语句3;
	代码块3
...
else:
	代码块N(前面的条件都不满足时)
其他代码
  • 执行过程
    先判断条件语句1是否为True,如果是就执行代码1,然后if语句结构直接结束;否则
    就判断条件语句2是否为True,如果为True就执行代码2,然后整个if语句结构直接结束;
    否则就判断条件语句3,以此类推
    如果前面所有的条件语句都不成立,就直接else后面的代码块。
3.python中的三目运算符
3.1)C中的三目运算 - ?:
表达式1?表达式2:表达式3
  • 判断表达式1的值是否为真,如果是整个运算的结果就是表达式2的值,否则整个运算的结果就是表达式3的值
3.2)python中的三目运算符
  • 是通过if-else来实现C中 ?:的功能
  • 表达式2 if 表达式1 else 表达式3 -先判断表达式1的值如果是True则整个语句的结果就是表达式2的值,否则就是表达式3的值。
4.if嵌套
  • 在if语句中嵌套其他的if语句。
  • 注意写法,参考下题:
    判断一个数是否是偶数,如果是打印偶数,否则打印奇数,然后在判断整个是否能被4整除
    如果能打印4的倍数
num = 8
if num % 2 == 0:
    print('偶数')
    if num % 4 == 0:
        print('4的倍数')

else:
    print('奇数')
    

02-for循环

1.for循环
  • 语法:
for 变量 in 序列:
	循环体
  • for - 关键字;固定写法

  • 变量 - 可以是已经定义过的变量,也可以是没有定义过的变量(常用没有定义过的)

  • in - 关键字;固定写法

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

  • : - 固定写法

  • 循环体 - 和for保持一个缩进的一条或者多条语句;需要重复执行的代码。

  • 执行过程:让变量去序列中取值,一个一个的取,取完为止,每取一个值执行一次循环体。
    因此for循环的循环次数和序列中元素的个数是一样的。

2.range函数- 产生数据序列
  • range(N) - 产生一个0~N-1 的数字序列(N是正整数,是N个数据)
    range(M, N) - 产生一个M~N-1的数字序列 (M,N都是整数,N>M一定要)
    range(M, N, step) - 从M开始每次增加step产生下一个数字,到N前为止(可能到N-1,
    也可能到N-2)
  • 例题:
执行100遍历
for b in range(100): # 执行100遍range(100)
    print('!!!')
for y in range(10, 100):
    print('y:', y)
for z in range(-100, -10): # M,N可以为负数
    print('y:', z)
for i in range(1, 13, 2):
    print('i:', i)
# 1,3,5,7,9,11
for j in range(10, 0, -1):  # step可以为负数。但是M要大于N
    print('i:', j)
# 练习:计算1+2+3+4+5+6....+100的和
x = 0
for a in range(1, 101):
    print('a:', a)
    x += a
print("x:", x)

统计100~300中能被3整除但是不能被4整除的数的个数

  • 统计个数套路 - 一开始不会写很正常,一点点从会写的慢慢来。
count = 0
for a in range(100, 301):
    if a % 3 == 0 and a % 4 != 0:
        # print('a:', a)
        # 满足条件的时候加1
        count += 1
print(count)

猜你喜欢

转载自blog.csdn.net/xinxing66/article/details/107543033
今日推荐