首页 > 编程语言 >python流程控制

python流程控制

时间:2022-09-27 22:14:19浏览次数:51  
标签:控制 python money 流程 else 条件 print 执行 代码

python中的流程控制

垃圾回收机制

1.什么是垃圾回收机制呢?
	python语言中独有的垃圾回收机制,会自动智能的优化储存空间
  把没有作用的数据值删除,清除占用的内存空间。
2.引用计数
	通过数据被引用的次数而判断数据值是否有效,是否需要保存空间
  name = 'moon' # 此时name这个变量名赋予了moon,数据值moon被引用了一次
  name1 = name  # 此时name1这个变量名再次引用了数据值moon  被引用次数为 2
  del name1		数据值moon身上的引用计数减一 为1
 	当数据值身上的引用计数为0的时候 才会被垃圾回收机制当做垃圾回收掉 默认为已经不需要此数据。
3.标记清除
	主要针对循环引用问题
  l1 = [11, 22]  # 引用计数为1
  l2 = [33, 44]  # 引用计数为1
  l1.append(l2)  # l1 = [11, 22, l2列表]  引用计数为2
  l2.append(l1)  # l2 = [33, 44, l1列表]  引用计数为2
	del l1  # 断开变量名l1与列表的绑定关系   引用计数为1
  del l2  # 断开变量名l2与列表的绑定关系   引用计数为1
	当内存占用达到临界值的时候 程序会自动停止 然后扫描程序中所有的数据
 	并给只产生循环引用的数据打上标记 之后一次性清除
4.分代回收
	垃圾回收机制的频繁运行也会损耗各项资源 
  垃圾回收机制会通过数据值被引用使用的次数来判断重要程度
  使用的次数越多,被检测的频率越低。
  放心:只要数据值有用,哪怕只被引用了一次,也不会被垃圾回收哦
  只是讲解一下python里面自带的垃圾回收系统的工作原理机制。

流程控制理论说明

流程控制>>>:控制事物的执行流程
	事物执行流程总共可以分为三种
    1.顺序结构
   			从上往下依次执行 一条路走到底。按照顺序进行
 		2.分支结构
       	   事物的执行会根据不同的条件,进行不同的选择操作
 		3.循环结构
        	事物会一直重复执行,直到达到某种条件才会停止。
 	ps:在代码的世界里 很多时候可能会出现三者混合
提示:作为小白 在学习流程控制的时候 建议做到代码和图形的结合

image
image
image

分支结构

1.分支结构 关键词  if
if 条件:
条件成立则进入if代码块执行。
#代码展示:
ice_cream = 2
if ice_cream < 3: # if 分支结构,判断条件为 冰激凌价格小于3 判断条件成立则会进入if下代码块输出 '买了吃'
    print('买了吃')

    
2.if...else...分支结构
	if 条件:
     	条件成立之后执行的子代码
	else:
      条件不成立执行的子代码
  #代码展示:
ice_cream = 5
if ice_cream < 3: # if 分支结构,判断条件为 冰激凌价格小于3 这里判断条件不成立,5大于3 所以这里if里面的子代码不运行
    print('买了吃')
else:    			          # if条件不满足,则运行 else 下面的子代码
    print('太贵了吃不起')   # 正常运行  ‘太贵了吃不起’
    
    
    
3.if...elif...else分支结构  #可以设置多个判断条件 依次判断
	if 条件1: 
       条件1成立之后执行的子代码
 	elif 条件2:
       条件1不成立 条件2成立执行的子代码
  elif 条件3:
       条件1和2都不成立 条件3成立执行的子代码
  else:
       上述条件都不成立 执行的子代码
  ice_cream = 6   
	if ice_cream < 2:  # 第一个判断  价格小于2  不符合,代码按照顺序接着进行
    print('买两个') 
	elif ice_cream < 5: #  第二个判断  价格小于5 不符合,代码按照顺序接着进行
    print('买一个把')
	elif ice_cream < 10: #  第三个判断  价格小于10 符合,成功执行子代码 ‘狠狠心卖一个’
    print('狠狠心买一个')
	else:
    print('太贵了不吃了') # 以上if elif 判断都不符合时 才执行else 。 当价格大于10时 会执行子代码
 


 4.if的嵌套使用(有点难)
   if语句下面还可以再次进行新的if判断
temperature = 32
money = 5
ice_cream = 6

if temperature > 30:     # 第一个 判断条件 天气大于30度 成立 运行子代码 
    print('天气好热,去购买')  #成功运行
    if money > 1:        # 还是属于第一个判断条件中的子代码,所以依序运行,判断 钱 大于1 成立 运行子代码
        print('口袋有钱') # 成功运行
        if ice_cream < 5:  #  附属关系上面判断成功就依序运行,判断 雪糕 小于5 不成立 不在运行
            print('真好吃')
        else:              # 同一等级中,判断失败 所以运行 此代码
            print('买不起')   #成功运行
    else:  # 因为同一等级中 条件成立 所以此代码不运行
        print('没钱吃不了')
else:    # 因为同一等级中 条件成立 所以此代码不运行
    print('不热不买了')
看大图,细细品味

image

循环结构

1.什么是循环结构:
  就是让某些程序在条件内,一直反复执行
2.代码结构:
  while 条件:	   # while 语句 后面 跟上 条件 以 :号结尾
3.运行逻辑:
    1.先判断条件是否成立
    2.如果成立则执行循环体代码
    3.循环体代码执行完毕后再次回到条件判断处 判断条件是否成立
    4.如果成立 则继续执行循环体代码
    5.按照上述规律依次执行 直到条件不成立才会结束循环体代码的执行

4.代码展示:
	money = 1
	while money < 5 :  # 开始进入循环,循环条件为 钱小于5  只要满足此条件便重复运行子代码
    print('钱不够去要钱')
    money += 1
	print('钱够了去买冰激凌')  # 循环结束,钱大于5了 依次执行此代码

循环结构之break

用户强行终止循环
while循环体代码一旦执行到break会直接结束循环
代码展示:
money = 1
while money < 10 :  # 开始进入循环,条件:钱小于10的时候 都需要循环
    print('钱不够去要钱')   
    money += 1
    if money == 4 :    # 设置条件,当钱 等于 4时 执行子代码
        print('不吃了')
        break   # 跳出循环,关闭循环

image

循环结构之continue

用户强行终止循环
while循环体代码一旦执行到continue会跳过本次循环
代码展示:
money = 1
while money < 6 :  #  进入循环执行。设置条件 钱 小于6  
    if money == 4 :   # 钱等于4元才进去此代码块  不等于4 则不执行if代码块
        money += 1
        continue       # continue 跳过等于4的这个
    print(money)   
    money += 1   
        
 代码执行结果:
1
2
3
5

image

小练习

#1.根据用户输入内容打印其权限
    '''
    jason --> 超级管理员
    tom  --> 普通管理员
    jack,rain --> 业务主管
    其他 --> 普通用户
    '''
  
答:
power = input('请输入姓名')
if power == 'jason':
    print('超级管理员')
elif power == 'tom':
    print('普通管理员')
elif power == 'jack,rain':
    print('业务主管')
else:
    print('普通用户')
# 2.编写用户登录程序
#  要求:有用户黑名单 如果用户名在黑名单内 则拒绝登录
#     eg:black_user_list = ['jason','kevin','tony']
#  如果用户名是黑名单以外的用户则允许登录(判断用户名和密码>>>:自定义)
#     eg: oscar 123

black_user_list = ['jason','kevin','tony']

username = input('请输入用户名')
if username == 'jason' or username == 'kevin' or username == 'tony':
    print('黑名单拒绝登录')
elif username == 'oscar':
    passwold =input('请输入密码')
    if passwold == '123':
        print('登录成功')
    else:
        print('密码错误')
else:
    print('账号错误,请注册')
#3.编写用户登录程序
 #用户如果登录失败 则只能尝试三次
 #用户如果登录成功 则直接结束程序

time = 3
while time > 0:
    name = input('请输入用户名')
    passwold = input('请输入密码')
    if name == 'moon' and passwold == '123':
        print('登录成功')
        break
    else:
        print('登录失败用户名或密码错误')
        time -= 1
if time == 0 :
    print('您已经失败了3次,账户锁定')
# 4.猜年龄的游戏
#  假设用户的真实年龄是18 编写一个猜年龄的游戏 获取用户猜测的年龄
#  基本要求:可以无限制猜测 每次猜错给出提示(猜大了 猜小了) 猜对则结束程序
#  拔高练习:每次猜测只有三次机会 一旦用完则提示用户是否继续尝试 用户通过输入n或者y来表示是否继续尝试 如果是y则继续给用户三次猜测机会 否则结束程序
time = 3
while time > 0:
    age = input('请猜一个年龄')
    age = int(age)
    if age == 18:
        print('恭喜您猜对了')
        break
    elif age > 18:
        print('猜大了')
    else:
        print('猜小了')
    time -= 1
    print('您还有%s次机会' % time)

标签:控制,python,money,流程,else,条件,print,执行,代码
From: https://www.cnblogs.com/moongodnnn/p/16736187.html

相关文章

  • 【NLP开发】Python实现中文、英文分词
    1、简介机器学习之所以看上去可以解决很多复杂的问题,是因为它把这些问题都转化为了数学问题。而NLP也是相同的思路,文本都是一些「非结构化数据」,我们需要先将这些数据......
  • Python基础(五) | 函数及面向过程编程详解
    第五章函数⭐本专栏旨在对Python的基础语法进行详解,精炼地总结语法中的重点,详解难点,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握python编程,同时为后续的数据分析,......
  • python 时间与日期模块总结
    python标准库中关于日期和时间的库主要有三个:calendar、time和datetime。1.calemdar模块calendar模块在日历的获取、显示以及年份是否为闰年等方面有诸多函数支持1.1打......
  • python流程控制理论
    今日内容概要垃圾回收机制流程控制理论(重要)流程控制之分支结构(重要)流程控制之循环结构(重要)今日内容详细垃圾回收机制"""有一些语言内存空间的申请和......
  • Python入门基础
    今日份内容概要垃圾回收机制控制流程理论控制流程之分支结构控制流程之循环结构今日内容详情任何的语言,使用内存空间的申请和释放都需要程序员自己写代码才能完成......
  • 流程控制
    一.垃圾回收机制什么是垃圾回收机制垃圾回收机制是python自带的一种机制,专门回收没有绑定变量名的垃圾数据,用来释放内存空间策略一:引用计数引用计数就是:变量名和数据......
  • 垃圾回收机制与控制流程及流程控制理论
    今日内容总结垃圾回收机制"""有一些语言内存空间的申请和释放都需要程序员自己写代码才能完成但是python却不需要通过垃圾回收机制自动管理"""1.引用计数nam......
  • python st
    #######numpy.ndarray转为dataframelr_info=data1.uns['lr_summary']lr_scores=data1.obsm['lr_scores']df_lr_scores=pd.DataFrame(data=lr_scores[0:,0:],col......
  • python垃圾回收机制与流程控制
    垃圾回收机制有一些语言,内存空间的申请和清除都需要程序员自己写代码才可以完成,但是在python中却不需要,通过垃圾回收机制自动管理1.引用计数name='lizhi'表示数......
  • Python cv2(Opencv) Canny边缘检测 和 傅里叶变换
    OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效,由一系列C函数和少......