码农学技术————六个月学习python全栈【Day05】

今日学习目标:

知道什么是流程控制,理解和运用if分支结构,循环结构(while循环),以及关键字break,continue


今日学习内容:

内容简要:

  • 流程控制理论(很重要)
  • 流程控制——分支结构
  • 流程控制——循环结构(while循环)

内容详细:

一,流程控制理论(很重要)

  • 什么是流程控制

    控制事物的执行流程

  • 执行流程的分类

名称 详情
顺序结构 顺序结构是程序按照现行顺序依次执行的一种运行结构。例如:语句块1=>语句块2=>……=>语句块n
分支结构 分支结构是程序按照判断条件选择不同执行路径的运行方式。最基础的是二分支结构,即判断条件产生“是”或“否”的结果,并根据这个结构选择不同路线,二分支结构组合形成多分支结构。
循环结构 循环结构是按照判断条件结果向后执行的一张方式。即根据结果确定是否将循环体中的语句再次执行的一种结果。

码农学技术————六个月学习python全栈【Day05】_第1张图片

扩展知识

1.在python中使用缩进来表示代码的从属关系
	if 18 > 19:
        print('嘿嘿嘿')  # 属于if判断 是否执行由if判断决定
        """我们也将缩进的代码称之为某某某的子代码"""
2.并不是所有的代码都可以有子代码(从属的代码)
	目前可以有的
    	if 
        else
3.如果多行代码属于同一个父代码 那么这多行代码需要保证相同的缩进
	在python中推荐使用四个空格来表示缩进(四个好看一些)
4.具有相同缩进量的代码彼此之间按照顺序结构执行 没有从属关系 平起平坐
"""ps:如果一行代码的结尾是冒号结束 那么紧挨着的下一行必缩进
	冒号的含义相当于是要拥有子代码
"""

流程控制——分支结构

1.单if分支

结构基本语法

if 条件表达式
      语句一
      语句二
      语句三
      ......

实例如下

# 先定义一个名字为'Alice'
name = 'Alice'
# 判断名字是否为'Alice'
if name == 'Alice':
  print('Hi, Alice.')

运行结果
码农学技术————六个月学习python全栈【Day05】_第2张图片

实例流程图如下
码农学技术————六个月学习python全栈【Day05】_第3张图片

特点

  • 条件表达式就是计算结果必须为布尔值的表达式
  • 表达式后面的冒号不能少
  • 注意if后面出现的语句,如果属于if语句块,则必须同一缩进等级
  • 条件表达式结果为True执行if后面的缩进的语句块

2.if与else分支

结构基本语法

      if条件表达式:
          语句一
          语句二
          ...
      else:
          语句一
          语句二
          ...

实例如下

# 定义一个名字为'Bob'
name = 'Bob'
# 判断名字是否为'Alice'
if name == 'Alice':
    # 是的话输出'Hi, Alice.'
    print('Hi, Alice.')
else:
    # 不是的话输出'Hello, stranger.'
    print('Hello, stranger.')

运行结果
码农学技术————六个月学习python全栈【Day05】_第4张图片

实例流程图如下
码农学技术————六个月学习python全栈【Day05】_第5张图片

特点

  • 条件表达式就是计算结果必须为布尔值的表达式
  • 表达式后面的冒号不能少
  • 注意if后面出现的语句,如果属于if语句块,则必须同一缩进等级
  • 条件表达式结果为True执行if后面的缩进的语句块反之执行else后面的缩进的语句块

3.if与elif与else分支

结构基本语法

if 条件表达式:
语句1elif 条件表达式:
语句1elif 条件表达式:
语句1else:
语句1
… …

实例如下

# 定义一个名字为'Bob'
name = 'Bob'
# 定义一个年龄为30
age = 30
#判断名字是否为'Alice'
if name == 'Alice':
    print('Hi, Alice.')
#判断年龄是否小于12
elif age < 12:
    print('You are not Alice, kiddo.')
#以上条件不满足的话就输出'You are neither Alice nor a little kid.'
else:
    print('You are neither Alice nor a little kid.')

运行结果
码农学技术————六个月学习python全栈【Day05】_第6张图片

实例流程图如下
码农学技术————六个月学习python全栈【Day05】_第7张图片

特点

  • elif可以有好多个,根据实际情况
  • 多路分支最多只会执行一种情况
  • 三者使用时缩进相同
  • if 结构中仅if可以独立存在

4.if的嵌套(可以延后掌握)

结构基本语法

    if 条件表达式:
        语句1
        if 条件表达式:
            语句2
        else:
            语句3
    else:
        语句4

实例如下

# 4.if的嵌套(可以延后掌握)
# 4.如果女孩子的年龄大于38说 不好意思认错人了 否则上去要微信
# 如果成功了 则去吃饭 看电影 逛商场 直至天黑 宿舍锁门了!!!
age = 22
is_success = True
if age < 38:
    print('我观察你很久了 想了想还是勇气给你要个联系方式')
    if is_success:
        print('吃饭 看电影 天黑了 睡觉觉')
    else:
        print('去你妹的')
else:
    print('哎呀不好意思 认错人了')

运行结果
码农学技术————六个月学习python全栈【Day05】_第8张图片

实例流程图如下
码农学技术————六个月学习python全栈【Day05】_第9张图片


.

分支结构练习题

  • 1,简单登录
# 1.编写一个用户登录程序
# 	如果用户名是jason并且密码是123 则打印登录成功
#   如果不是则打印用户名或密码错误
"""
    前期写程序可以先用注释编写思路 之后再写对应的代码
    相当于将中文翻译成python代码而已
"""
# 1.获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.校验/判断用户名和密码是否正确
if username == 'jason' and password == '123':
    print('欢迎老板光临')
else:
    print('用户名或密码错误!!!')

运行结果
码农学技术————六个月学习python全栈【Day05】_第10张图片

  • 2.成绩评判系统
# 2.编写一个成绩评判系统
# 	  如果成绩大于90 则打印优秀
#     如果成绩大于80 则打印良好
#     如果成绩大于70 则打印一般
#     如果成绩大于60 则打印及格
#     如果成绩小于60 则打印挂科
# 1.先获取学生的成绩
score = input('score>>>:')
score = int(score)  # 将字符串的成绩转成整型的成绩(先忽略)
# 2.罗列对应的条件
if score > 90:
    print('优秀')
elif score > 80:
    print('良好')
elif score > 70:
    print('一般')
elif score > 60:
    print('及格')
else:
    print('挂科')

运行结果
码农学技术————六个月学习python全栈【Day05】_第11张图片


流程控制——循环结构(while循环)

结构基本语法

"""
	语法结构
		while 条件:
			条件成立之后执行的循环体代码
	1.先判断条件是否成立 如果成立则执行循环体代码
	2.循环体代码执行完毕后 再次判断条件是否成立 如果成立则继续执行循环体代码 如果不成立则跳出循环
"""

实例如下

#初始化变量spam
spam = 0
#循环五次
while spam < 5:
    #每次循环打印输出'Hello, world.'
    print('Hello, world.')
    #每次循环累加
    spam = spam + 1

运行结果
码农学技术————六个月学习python全栈【Day05】_第12张图片

实例流程图如下
码农学技术————六个月学习python全栈【Day05】_第13张图片

特点

  • 当while后的条件计算为True时一直循环,循环过程为执行完代码块后又回到代码块的第一行继续执行代码。

流程控制——循环结构(while循环——关键字(break))

特点

  • 当在while循环中使用break时,循环立刻停止。在使用 while True: 循环时很有用,比如应用于输入正确用户名的场景下。
  • break是用于直接结束本层循环,break只能结束所在的那一层循环

实例如下

# 恒循环
while True:
    # 获取输入的名字
    name = input('Please type your name>>')
    # 判断是否为'your name'
    if name == 'your name':
        # 是的话结束循环
        break
# 打印'Thank you!'
print('Thank you!')

运行结果
码农学技术————六个月学习python全栈【Day05】_第14张图片

实例流程图如下
码农学技术————六个月学习python全栈【Day05】_第15张图片


流程控制——循环结构(while循环——关键字(continue))

特点

  • 用于在执行代码块时立即回到循环起点,一般放在循环中间的位置。
  • continu是用于结束本次循环 直接开始下一次循环

实例如下

while True:
    print('who are you?')
    name = input()
    if name != 'Joe':
        continue
    print('Hello,Joe.What is the password?(It is a fish)')
    password = input()
    if password == 'swordfish':
        break
print('Access Granted.')

运行结果
码农学技术————六个月学习python全栈【Day05】_第16张图片

实例流程图如下
码农学技术————六个月学习python全栈【Day05】_第17张图片


今日学习时间:

计划学习的时间

1、 上午8:30~12:30
2、 下午2:30~5:30
3、 晚上6:30~9:30


今日学习产出:

统计学习计划的总量

1、 技术笔记 1遍
2、CSDN 技术博客 1篇
3、每日录音
4、课后作业
编写一个猜年龄的游戏
基本要求
如果不对的情况下可以猜三次 如果对了直接结束
拔高练习
三次机会用完之后提示用户是否继续猜测 如果用户输入了y
则再给用户三次机会 如果用户输入n则直接结束

import random
#产生一个0~20以内的随机整数
age = random.randint(0, 20)
count = 0
while True:
    if count < 3:
        guess = int(input(">>:"))
        if guess > age:
            print("猜的太大了,往小里试试...")
            count += 1
        elif guess < age:
            print("猜的太小了,往大里试试...")
            count += 1
        else:
            print("恭喜你,猜对了...")
            break
    else:
        a = input('您已经猜错了三次,是否继续猜测(y/n)>>:')
        if a == 'y':
            count = 0
        else:
            print('感谢您本次游玩,欢迎下次光临!')
            break

你可能感兴趣的:(编辑器,学习,python)