首页 > 编程语言 >进入python的世界_day5_python基础——流程控制

进入python的世界_day5_python基础——流程控制

时间:2022-09-27 20:22:53浏览次数:52  
标签:count python 流程 day5 else while print input age


   写在开头,昨天是补全了八种常见数据类型的剩下三种、用户交互、常用运算符,今天主要学习流程控制很重要

昨日作业补充另一种方法:

原理:可以将表格整体看成是一个字符串
     先定义出来这个字符串,需要填充的内容全部用%s预留好
 info_demo = """
        ------------ info of %s -------------
        Name : %s
        Age  : %s
        Job  : %s 
        ---------------- end -----------------
    """
    # 然后开始设计用户交互的内容
    username = input('username>>>:')
    age = input('age>>>:')
    job = input('job>>>:')
    print(info_demo % (username, username, age, job))
                         ⇧           ⇧
    !!!注意,两次username是为了对其 %s的数据个数,必须一致

一、垃圾回收机制

  • 何为垃圾数据?:

    ​ 在计算机内存中没有任何变量命指向的数据,占着空间不用,会被python程序的机制定义为垃圾(注意不同语言垃圾回收机制不一定相等)

  • 3个要点

    1. 引用计数

      ​ 内存中变量值身上有几个变量名绑定引用计数就是几,只要不为0就不是垃圾

    2. 标记清除

      ​ 当内存即将沾满的时候 python会自动暂停程序的执行 从头到尾将内存中数据进行扫描并打上标记 之后一次性清除掉标记的数据

    3. 分代回收

      ​ 记住一句就可以,使用次数越频繁的数据,垃圾回收机制越不会经常去监看他。

二、流程控制理论

  • 首先,做任何事情,都有一个流程,都有一个先后顺序,程序运行也是(正常来说非指定情况下)

  • 任何代码执行流程只有三种情况:(注:可以混用)

    1. 顺序

      ​ 自上而下,依次运行

    2. 分支

      ​ 根据设置的条件,走不同的方向

    3. 循环

      ​ 根据条件,反复运行

​ 插图理解:


流程控制的必备知识点:
1.python中使用缩进来表示代码的从属关系,同级则是依次执行
    (一般推荐四个空格)(windows系统按TAB快捷往后缩进,shift+TAB往前缩进)
2.条件都会被转为布尔值,然后决定后面跟着的子代码要不要执行 
3.如果同属于某个代码的多行子代码 必须要保持相同的缩进量
	例:
	while True:
    	age = int(input('请输入年龄>>>:'))
    	if 机会 == 3:
      		  print('您已经猜了三次了,是否继续尝试 Y/N')
        	  choice = input('您的选择:')
4.如果上一行代码的结尾如果是冒号 那么下一行代码必缩进
	(注意冒号!一定要是英文状态打的!)
5.print没有拥有子代码的权限

​ ⬇⬇

三、分支结构

  • 单单一个if分支结构

    ​ 根据设置的条件做判断,条件成立后就执行子代码

    例:
    age = 20
    if age < 24:
    	print('年轻真好啊')
    
  • if 与 else 连用

    ​ 如果if带着的条件成立,就不走else——(同级情况下)

    ​ 如果if不成立,就走else的子代码 ——(同级情况下)

    ​ 二者连用时,永远不会同时执行

    例:
    age = 25
    if age < 24:
    	print('年轻真好啊')
    else:
    	print('已经不年轻了')
    
  • if与elif else 一起连用

    ​ elif 的意思是1不成立看2,2不成立看3可以一直跟,二不是else的(是|非)的选择,三者连用,else做收尾

    例:
    age = 25
    if age < 18:
    	print('青少年')
    elif age < 40:
    	print('青年')
    elif age < 60:
    	print('中年')
    else:
    	print('老年')
    
  • if判断的嵌套(很难但是重要)

    ​ 写的时候一定要注意elif else的对齐目标,决定代码的走向,如果条件太绕很容易出错,初期可以画图来梳理嵌套的流程

    例:
    	路上看到一个小姐姐,如果很漂亮,上去要微信,两种结果
    →1.给了
    →2.没给,可惜了
    
    给了微信问是去吃饭还是唱歌,两种结果
    →1.吃饭
    →2.唱歌
    
    如果转过头发现不漂亮,不好意思认错人了
    
    代码实现:
    is_beautiful = True   # 判断的前置条件
    is_success = True     # 判断的前置条件
    if is_beautiful:
        print('小姐姐能否加个微信')
        if is_success:
            choice = input('小姐姐吃饭还是唱歌?')
            print('choice')
        else:
            print('可惜了!')
    else:
        print('不好意思认错人了')
    

四、whlie循环

  • while 条件:
    条件成立之后循环执行的子代码块

  • 格式:

    ​ while+空格+判断条件+:(英文的)+(换行缩进)子代码

  • 原理:

    ​ 先判断条件成立不,成立就执行循环的子代码,子代码执行完后立马回到最初的条件判断处,再次判断,如果成立,继续循环,如果不成立,结束循环体代码,按照同while该行相同缩进格式的后续代码依次执行

  • 两个与循环有关的单词

    ​ break 打破,打破当层循环

    ​ continue 让循环体代码直接回到条件判断处重新判断

    代码实现: 
    1.打印1到10
    count = 1
    while count < 11:
        print(count)
        count += 1
    2.打印1到10,如果到6,结束
    count = 1
    while count < 11:
        print(count)
        count += 1
        if count > 6:
            break
    3.打印1到10,但是跳过5
    count = 1
    while count < 11:
        if count == 5:
            count += 1
            continue
        print(count)
        count += 1
    
  • while 与 else

    ​ 如果循环体代码没有被人为打断(比如说break,contiue),正常执行完,就会执行else的子代码,否则不执行

    count = 1
    while count < 11:
        print(count)
        count += 1
    
    else:
        print('嗨害嗨')
        
    执行
    
    count = 1
    while count < 11:
        print(count)
        count += 1
        if count > 6:
            break
    else:
        print('嗨害嗨')
        
    不执行
    
    

作业:

1.根据用户输入内容打印其权限
    '''
    jason --> 超级管理员
    tom  --> 普通管理员
    jack,rain --> 业务主管
    其他 --> 普通用户
    '''
    
解答:
username = input('请输入用户名>>>:')
if username == 'jason':
    print('超级管理员已登录')
elif username == 'tom':
    print('普通管理员已登录')
elif username == 'jack' and 'rain':
    print('业务主管已登录')
else:
    print('普通用户已登录')
    
2.编写用户登录程序
 要求:有用户黑名单 如果用户名在黑名单内 则拒绝登录
    eg:black_user_list = ['jason','kevin','tony']
 如果用户名是黑名单以外的用户则允许登录(判断用户名和密码>>>:自定义)
    eg: oscar 123
    
解答:
black_user_list = ['jason','kevin','tony']
username = input('请输入用户名>>>:')
password = input('请输入用户密码>>>:')
if username in black_user_list:
    print('网络错误,登录失败')
else:
    print('登录成功')
    
3.编写用户登录程序
 用户如果登录失败 则只能尝试三次
 用户如果登录成功 则直接结束程序
 
 
解答:
count = 0
while count < 3:
    username = input('请输入用户名>>>:')
    password = int(input('请输入密码>>>:'))
    if username == 'Jack' and password == 666:
        print('欢迎回来,Jack')
        break
    else:
        print('用户或者密码错误,请检查后重新输入')
        count += 1


4.猜年龄的游戏
    假设用户的真实年龄是18 编写一个猜年龄的游戏 获取用户猜测的年龄
 基本要求:可以无限制猜测 每次猜错给出提示(猜大了 猜小了) 猜对则结束程序
 拔高练习:每次猜测只有三次机会 一旦用完则提示用户是否继续尝试 用户通过输入n或者y来表示是否继续尝试 如果是y则继续给用户三次猜测机会 否则结束程序
 
 
 
解答:
基本
while True:
    age = int(input('请输入年龄>>>:'))
    if age > 18:
        print('猜大了')
    elif age < 18:
        print('猜小了')
    else:
        print('恭喜猜对')
        break

拔高
n = 18
count = 0
while count < 3:
    guess_age = int(input("请输入猜写年龄>>>:"))
    if guess_age > n:
        print('猜大了')
    elif guess_age < n:
        print('猜小了')
    elif guess_age == n:
       print('恭喜猜对')
       break
    count += 1
    if count >=3:
        choice = input('是否继续,继续将获得三次机会!y/n 请输入>>>:')
        print(choice)

        if choice == 'y':
            while count < 6 :
                guess2 = int(input('请输入数字>>>:'))
                if guess2 > n:
                    print('还是猜大了')
                elif guess2 < n:
                      print('还是猜小了')
                else:
                     print('太棒了,正确了')
                     break
                count += 1
                if count == 5:
                    print('最后一次机会了!')
                if count == 6:
                     print('没有机会了!!\n游戏结束,感谢游玩')
        else :
            print('游戏结束,感谢游玩')
            break
 

标签:count,python,流程,day5,else,while,print,input,age
From: https://www.cnblogs.com/wznn125ml/p/16735802.html

相关文章

  • python基础知识
    垃圾回收机制1.引用计数​name='jason'数据值jason身上的引用计数为1​name1=name数据值jason身上的引用计数加一为2​delname1......
  • 流程控制——练习
    今日作业:整理今日内容及博客1.根据用户输入内容打印其权限'''jason-->超级管理员tom-->普通管理员jack,rain-->业务主管其他-->普通用户'''#coding:utf......
  • Python基础入门(五)
    Python基础入门(五)一、垃圾回收机制1、什么是垃圾回收机制?垃圾回收机制(GC)是Python解释器自带的一种机制,专门回收不可用的变量值所占用的内存空间。2、为什么要用垃圾......
  • python中常用的转义字符
    """python的转义字符1.\n换行2.\t制表符补齐四个占位3.\r覆盖4.\b删除"""print('我是\n梨花')print('我是\t梨花')print('我是\r梨花')print(......
  • 流程控制
    流程控制流程控制>>>:控制事物的执行流程 事物执行流程总共可以分为三种 1.顺序结构 从上往下依次执行我们之前所编写的代码都属于该结构 2.分支结构......
  • python垃圾回收机制、流程控制理论、流程控制理论必备知识、分支结构、循环结构
    目录垃圾回收机制1引用计数2标记清除3分代回收流程控制理论流程控制必备知识分支结构循环结构垃圾回收机制一些语言存放空间和释放都需要程序员自己去写代码完成,但是pyth......
  • 7、python入门篇 垃圾回收和流程控制
    目录今日内容总结一、垃圾回收机制1、引用计数2、标记清除3、分类代收二、流程控制1、理论2、必备知识3、分支结构4、循环结构今日内容总结一、垃圾回收机制垃圾回收机......
  • python之流程控制-分支结构、循环结构
    流程控制编写程序,是将自己的逻辑思想记录下来,使得计算机能够执行的过程。而流程控制,则是逻辑结构中十分重要的一环。在程序中,基础的流程结构分为顺序结构、分支结构、顺......
  • 垃圾回收机制和流程控制理论
    垃圾回收机制和流程控制理论今日内容概要垃圾回收机制流程控制理论(重要)流程控制之分支结构(重要)流程控制之循环结构(重要)今日内容详细垃圾回收机制"""有一些语言......
  • 关于python的opencv库的学习笔记,腐蚀与膨胀
    importcv2importnumpyasnp##img=cv2.imread('cat.jpeg')##cv2.imshow('cat',img)##cv2.waitKey()##cv2.destroyAllWindows()##对图像进行腐蚀操作#ken=np.ones......