学习笔记-190319-python分支+循环

程序三大结构

  • 顺序
  • 分支
  • 循环

分支

  • 分支的基本语句

      if 条件表达式:
      		语句1
      		语句2
      		语句3
      		......
    
  • 条件表达式就是计算结果必须为布尔值的表达式

  • 表达式后面的冒号不能少

  • 注意if后面出现的语句,如果属于if语句块,则必须同一个缩进等级

  • 条件表达式结果为True执行if后面的缩进的语句块

# if语句练习
# 如果age小于18岁,则打印信息"去叫家长"
age = 17
if age < 18:
    print("去叫家长吧,孩子")
    print("我们不带你玩")
    print("滚球的")
运行结果:
去叫家长吧,孩子
我们不带你玩
滚球的

双向分支

  • if…else…语句
   if 条件表达式:
           语句1
           语句2
       	   ......
    else:
           语句1
           语句2
           ......
  • 双向分支有两个分支,当程序执行到if … else …语句的时候,一定会执行if或else中的一个,也仅执行一个
  • 缩进问题,if和else一个层级,其余语句一个层级
# input的作用是
# 1. 在屏幕上输出括号内的字符串
# 2. 接受用户输入的内容并返回到程序
# 3. input返回的内容一定是字符串类型
gender = input("请输入性别:")
print("你输入的性别是:{}".format(gender))
if gender == "男":
    print("来,我们纪念一下今天")
else:
    print("发糖喽")
        
print("开始上课喽")
运行结果:
请输入性别:男
你输入的性别是:男
来,我们纪念一下今天
开始上课喽
# 考试成绩判断
# 90以上:输出优秀
# 80 - 90 : 良
# 70 - 80 : 中
# 60 - 70: 及格
# 60一下:不及格

# score 存放学生成绩
# 注意input的返回值类型是字符串
score = input("请输入学生成绩:")
# 需要把str转换成int
score = int(score)
if score >90:
    print("A")
if score >= 80:
    print("B")
if score >= 70:
    print("C")
if score >= 60:
    print("D")
if score < 60:
    print("不及格")
运行结果:
请输入学生成绩:98
A
B
C
D

修改以上代码,实现想要的结果

# 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("不及格")
运行结果:
请输入学生成绩:88
B

多路分支

  • 很多分支的情况,简称多路分支

      if 条件表达式:
          语句1
          ......
      elif 条件表达式:
          语句1
          ......
      elif 条件表达式:
          语句1
          ......
          ......
      else:
          语句1
          ......
    
  • elif 可以有很多个

  • else可选

  • 多路分支只会选一个执行

# score 存放学生成绩
# 注意input的返回值类型是字符串
score = input("请输入学生成绩:")
# 需要把str转换成int
score = int(score)
if score >90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 70:
    print("C")
elif score >= 60:
    print("D")
else:
    print("不及格")
运行结果:
请输入学生成绩:75
C

if语句其他:

  • if 语句可以嵌套使用,但不推荐
  • python没有switch-case语句

循环语句

  • 重复执行某些固定动作或者处理基本固定的事物
  • 分类:
    • for循环
    • while循环

for循环

  • for循环

      for 变量 in 序列:
          语句1
          语句2
          ......
    
# 列表就是一列数字或者其他值,一般用中括号表示
# 例如 ['zhangsan' , 'lisi' , 'wangwu' , 'zhaoliu']

# 打印学生列表姓名
for name in ['zhangsan' , 'lisi' , 'wangwu' , 'zhaoliu']:
    print(name)
    if name == "zhaoliu":
        print("老六{}出现了".format(name))
    else:
        print("{}说:我不是老六".format(name))
运行结果:
zhangsan
zhangsan说:我不是老六
lisi
lisi说:我不是老六
wangwu
wangwu说:我不是老六
zhaoliu
老六zhaoliu出现了

range介绍

  • 生成一个数字序列
  • 具体范围可以设定
# range练习
# 打印从1-10的数字
# 注意,一般python中,如果由表示数字范围的两个数,一般是包含左边数字不包含右边数字
# random.randint是特例,他左右都包含
# range函数在python2 和python3 中有严重区别
for i in range(1,11):
    print(i)
运行结果:
1
2
3
4
5
6
7
8
9
10

for-else语句

  • 当for循环结束的时候,会执行else语句
  • else语句是可选语句
# for-else语句
# 打印列表中的同学
# 如果没有在列表中,或者列表结束了,我们需要打印提示语句

for name in ['zhangsan' , 'lisi' , 'wangwu' , 'zhaoliu']:
    print(name)
    if name == "zhaoliu":
        print("老六{}出现了".format(name))
    else:
        print("{}说:我不是老六".format(name))
else:
    print("提示:同学,你好")
运行结果:
zhangsan
zhangsan说:我不是老六
lisi
lisi说:我不是老六
wangwu
wangwu说:我不是老六
zhaoliu
老六zhaoliu出现了
提示:同学,你好

for循环值break,continue,pass

  • break:无条件结束整个循环
  • continue: 无条件结束本次循环,从新进入下一轮循环
  • pass:表示路过,通常用于占位
# 在数字1-10中,寻找数字7,一旦找到打印出来,其余则什么都不做
# for 循环中的变量表示,一般用i,k,m,n,或者indx,idx,item之类
# python中,如果循环变量名称不重要,可以用下划线(_)代替

for i in range(1,11):
    if i == 7:
        print(i,"找到了")
        break
    else:
        print("没找到")
运行结果:
没找到
没找到
没找到
没找到
没找到
没找到
7 找到了
# continue语句练习
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
for i in range(1,11):
    if i % 2 == 1:
        continue
    else:
        print("{0}是偶数".format(i))
运行结果:
2是偶数
4是偶数
6是偶数
8是偶数
10是偶数
# continue语句 版本2
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
for i in range(1,11):
    if i % 2 == 0:
        print("{0}是偶数".format(i))
运行结果:
2是偶数
4是偶数
6是偶数
8是偶数
10是偶数
# continue语句 版本3
# 在数字1-10中,寻找所有偶数,找到偶数后打印偶数
# 本案例完整显示continue的用法和作用
for i in range(1,11):
    if i % 2 == 1:
        continue
        
    print("{0}是偶数".format(i))
运行结果:
2是偶数
4是偶数
6是偶数
8是偶数
10是偶数
# pass例子,一般用于占位

for i in range(1,11):
    pass
运行结果:

while循环

  • 一个循环语句

  • 表示当条件成立的时候循环,适用于不知道具体循环次数,但确定某个条件成立的情况下就循环

  • while语法:

      while 条件表达式:
          语句块
      
      #另一种表达方式
      while 条件表达式:
          语句块1
      else:
          语句块2
    
# 如果说年利率是6.7%,本利是每年翻滚,则多少年后本钱会翻倍

principle = 100000
year = 0 # 存放需要范本的年数

while principle < 200000:
    principle = principle * (1 + 0.067)
    year += 1
print(year)
运行结果:
11

猜你喜欢

转载自blog.csdn.net/qq_35948831/article/details/88673335
今日推荐