循环分支循环语句

  • 2020 年 1 月 19 日
  • 筆記

#  三大结构
 - 循环
 - 分支
 - 循环

. . .

In [ ]:

# 分支

 - 分支的基本语法

 -  if  条件表达式:
         语句1
         语句2
         语句3
         .....
  - 条件表达式就是计算结果必须是布尔值的表达式
  - 表达式后面的冒号觉对不能少
  - 注意 if 后面出现的语句,如果属于 if 语句块,则必须同一个缩进等级
  - 条件表达式结果位 True 执行 if 后面的缩进语句块

. . .

In [8]:

#if 语句练习
#如果age小于18岁,则打印信息,去叫家长
age = 19
if 10 <= age <= 18:
    print("去叫家长")
    print("带不动")
    print("走吧")
print("大兄弟")  #不满足条件的会执行下一条与 if 齐平的代码 
大兄弟

. . .

In [ ]:

 ### 双向分支
 - if ...else...语句
     if 条件表达式:
          语句1
          语句2
          ....
      else:
           语句1
           语句2
           .....

  - 双向分支有两个分支,当程序执行到 if....else.....语句的时候,一定会执行 if 或 else 中的一个,一次也只能执行一个
  - 缩进问题,if 和 else 一个层级,其余的语句块是一个层级,同一语句块的缩进是一样的。

. . .

In [4]:

# input 的作用
# 1. 在屏幕上输出括号内的字符串
# 2. 接受用户输入的内容并返回到程序
# 3. input 返回的内容一定是字符串类型
gender = input("输入性别")
print("你输入的性别是:{0}".format(gender))
if gender == "男的":
      print('去干苦力')
else:
        print("吃饭去")
print('开始干活了')        
输入性别女生  你输入的性别是:女生  吃饭去  开始干活了

. . .

In [ ]:

# 多向分支的案例
# 考试成绩的判断
# 90以上:输出优秀
# 80-90:良
# 70-80:中等
# 60-70:一般
# 60以下:输出,学渣

. . .

In [5]:

# score 存放学生成绩
#注意 input 的返回值类型
score = input("学生成绩:")
# 需要吧 str (字符串)转换成 int(数字)
score = int(score)
if score >= 90:
       print("A")
if score >= 80 and score<90:
       print("B")
if score >= 70 and score<80:
        print("C")
if score >= 60 and score<70:
        print("D")
if score < 60:
        print("头疼")
学生成绩:89  B

. . .

In [ ]:

## 多路分支
- 很多分支的情况,简称多路分支
      if :条件表达式:
          语句1
          .......
       elif 条件语句:
             语句1
             .....
         .....
        else:
             语句2
             ......
- elif 可以有很多个
- else 可选
- 多个分支只会选一个执行

. . .

In [6]:

score = input("输入成绩")
score = int(score)
if score >90:
    print("A")
if score >=80:
    print("B")
if score >=70:
    print("C")
if score >=60:
    print("D")
else:
    print("go home")
输入成绩59  go home

. . .

## if 语句其他:
        - if 语句可以嵌套使用,但不推荐
        - python 语句里没有 switch-case语句

if 语句其他:

    - if 语句可以嵌套使用,但不推荐      - python 语句里没有 switch-case语句
###  循环语句
  - 重复执行某些固定动作或处理某些基本固定的事务
  - 分类:
         - for 循环
         - while 循环

 ## for 循环
     - for 循环
           for 变量  in 序列:
                语句1
                语句2
                ......

循环语句

  • 重复执行某些固定动作或处理某些基本固定的事务
  • 分类: – for 循环 – while 循环 for 循环
    • for 循环 for 变量 in 序列: 语句1 语句2 ……

In [11]:

### 列表就是一列数字或其他值,一般用中括号表示
# 例如: 【'ruirui','halou','xiaoji','dunmogu'】
# 打印列表姓名
# 如果是吃的,肯定是我最爱的
# 如果是做事,我要装睡觉
for name in ['ruirui','zuo','xiaoji','dunmigu']:
    print(name)
    if name =="ruirui":
        print("我的最爱{0}".format(name))
    else:
        print("已睡,勿扰")
ruirui  我的最爱ruirui  zuo  已睡,勿扰  xiaoji  已睡,勿扰  dunmigu  已睡,勿扰

. . .

In [ ]:

##  range 介绍
 - 生成一个数字序列
 - 具体范围可以设定

. . .

In [13]:

# range 练习
# 打印一到十的数字
# 注意 一般在 python 中,如果有表示数字范围的两个数,一般是包含左边的数字不包括右边的数字
# randint 是特例,它是左右都包含
# randint 函数在 python 3和python2 中有严重的区别
for a in range(1,10):# range 函数会自动生产一列整数
    print(a)
1  2  3  4  5  6  7  8  9

. . .

In [ ]:

##  for-else 语句
  - 当 for 循环结束的时候,就会执行 else 语句
  - else 语句是可选语句

. . .

In [14]:

# for-else 语句
#打印列表中的同学
# 如果没有在列表中,或列表结束了,我们要打印提示语句,表示不在爱了
for name in ['ruirui','zuo','xiaoji','dunmigu']:
    print(name)
    if name =="ruirui":
        print("我的最爱{0}".format(name))
    else:
        print("已睡,勿扰")
else:
    print("你不给我吃的,我不再爱你了")
ruirui  我的最爱ruirui  zuo  已睡,勿扰  xiaoji  已睡,勿扰  dunmigu  已睡,勿扰  你不给我吃的,我不再爱你了

. . .

 # for 循环之 break continue pass
 - break:无条件结束整个循环,简称猝死
 - continue ;无条件结束本循环,从新进入下一轮
 - pass :表示路过

for 循环之 break continue pass

  • break:无条件结束整个循环,简称猝死
  • continue ;无条件结束本循环,从新进入下一轮
  • pass :表示路过

In [16]:

# break 语句练习 
# 在数字1-10中,寻找数字7,一旦找到,打印出来,其余的什么都不做
# 在 foe 循环中的变量表示,一般用 i k m n 或者indx idx item之类
# 在 python 中,如果循环变量名称不重要,可以用一个下划线 “ _ ”代替
for i in range(1,11):
    if i == 7:
        print("任务结束")
        break
    else:
        print(i)
1  2  3  4  5  6  任务结束

. . .

In [19]:

# comtinue 语法练习
# 在数字一到十中,寻到所有偶数,找的并打印
for i in range(1,11):
    if i % 2 == 1:
        continue
    else:
        print("{0}是偶数".format(i))
2是偶数  4是偶数  6是偶数  8是偶数  10是偶数

. . .

In [26]:

for i in range(1,11):
    if i % 2 == 1:
        print("{0}是偶数".format(i))
1是偶数  3是偶数  5是偶数  7是偶数  9是偶数

. . .

In [27]:

# 本案例把 continue 作用和用法完美显示
for i in range(1,11):
    if i % 2 == 1:
        continue

    print("{0}是偶数".format(i))
2是偶数  4是偶数  6是偶数  8是偶数  10是偶数

. . .

In [30]:

## pass 例子 一般用于占位
for i in range(1,11):
    pass
    print("ruirui")
ruirui  ruirui  ruirui  ruirui  ruirui  ruirui  ruirui  ruirui  ruirui  ruirui