首页 > 其他分享 >垃圾回收,if else while

垃圾回收,if else while

时间:2022-09-27 19:33:19浏览次数:46  
标签:循环体 name 代码 else while 垃圾 print age

今日内容概要

  • 1 垃圾回收机制
  • 2 流程控制理论
  • 3 流程控制必备知识
  • 4 分支结构
  • 5 循环

1 垃圾回收机制

"""
为了节省空间内存,减轻电脑压力,python有自带的垃圾回收机制自动管理
"""
1 引用计数
	name='wuyong' 数据值wuyong身上的引用计数为1
	name1 = name,此时引用计数为2
	del name1 引用计数减1 为1 
当数据值引用计数为0时,会被垃圾回收机制当做垃圾回收掉,不为0就不会被回收掉

2 标记清除
	主要针对循环引用问题
  	lt1 = [11,22] #引用计数 1
    lt2 = [33,44] #引用计数 1
		lt1.append(lt2) #引用计数 2
    lt2.append(lt1) #引用计数 2
    del 1t1 #断开变量名lt1与列表的绑定关系 引用计数为2-1=1
    de2 1t2 #断开变量名lt1与列表的绑定关系 引用计数为2-1=1
	当内存占用到一定临界值时,程序会自动停止 然后扫描程序中的所有数据
  并只给产生循环引用的数据打上标记 之后一次性清除
3 分代回收
	垃圾回收机制的频繁运行也会损耗各项资源
  根据引用计数增长的频率,频率高的,检测频率越低。(每次检测间隔时间越长)

![image-20220927172844933](/Users/wuyong/Library/Application Support/typora-user-images/image-20220927172844933.png)

2 流程控制理论

流程控制:控制事物的执行流程
	事物执行流程分为三种
  	1 顺序结构
    	从上往下依次执行
    2 分支结构
    	事物的执行会根据条件的不同做出不同的执行策略
    3 循环结构
    	事物的执行根据某个条件出现重复
很多时候,会出现三种混合

3 流程控制必备知识

1.python中使用代码的缩进来表示代码的从属关系
	从属关系:缩进的代码(子代码)是否执行取决于上面没有缩进的
2.并不是所有的代码都可以拥有缩进的代码(子代码)
	if关键字
3.如果有多行子代码属于同一个父代码 那么这些子代码需要保证相同的缩进量
4.python中针对缩进量没有具体的要求 但是推荐使用四个空格(windows中tab键)
5.当某一行代码需要编写子代码的时候 那么这一行代码的结尾肯定需要冒号
6.相同缩进量的代码彼此之间平起平坐 按照顺序结构依次执行

4 分支结构

1.单if分支结构
	if 条件:
		条件成立之后才会执行的代码快
	ps:单if可以借助于流程图理解
 	 username = input('username>>>:')
	 if username == 'jason':
	     print('老师好')

2.if...else...分支结构
	if 条件:
     	条件成立之后执行的子代码
	else:
      	条件不成立执行的子代码
 	 username = input('username>>>:')
    if username == 'jason':
        print('老师好')
    else:
        print('去你妹的')

3.if...elif...else分支结构
	if 条件1:
       条件1成立之后执行的子代码
 	elif 条件2:
       条件1不成立 条件2成立执行的子代码
  	elif 条件3:
       条件1和2都不成立 条件3成立执行的子代码
   	else:
       上述条件都不成立 执行的子代码
 	ps:中间的elif可以写多个、上述子代码永远只会走一个
 	 score = input('请输入学生成绩>>>:')
    score = int(score)  # 将字符串的整数转换成整型的整数
    if score >= 90:
        print('优秀')
    elif score >= 80:
        print('良好')
    elif score >= 70:
        print('一般')
    elif score >= 60:
        print('及格')
    else:
        print('挂科 交钱重修')
 
4.if的嵌套使用(有点难)
	 age = 28
    height = 170
    weight = 110
    is_beautiful = True
    is_success = False
    username = 'tony'
    if username == 'tony':
        print('tony发现目标')
        if age < 30 and height > 160 and weight < 150 and is_beautiful:
            print('大妹纸 手机掏出来 让我加微信')
            if is_success:
                print('吃饭 看电影 天黑了...')
            else:
                print('去你妹的 流氓!!!')
        else:
            print('不好意思 认错人了')
    else:
        print('不是tony做不出来这件事')

5 循环结构

while 条件:	
	条件成立之后执行的子代码(循环体代码)
1.先判断条件是否成立
2.如果成立则执行循环体代码
3.循环体代码执行完毕后再次回到条件判断处 判断条件是否成立
4.如果成立 则继续执行循环体代码
5.按照上述规律依次执行 直到条件不成立才会结束循环体代码的执行

# count = 1
# while count < 5:
#     print('hello world')
#     count += 1  # count = count + 1
# print('想不想干饭?')

break  # 强行结束循环体
	while循环体代码一旦执行到break会直接结束循环
continue  # 直接跳到条件判断处
	while循环体代码一旦执行到continue会结束本次循环 开始下一次循环
    
 
while 条件:
    循环体代码
else:
    循环体代码没有被强制结束的情况下 执行完毕就会执行else子代码

6 作业

# 整理今日内容及博客
#
# 1.根据用户输入内容打印其权限
#     '''
#     jason --> 超级管理员
#     tom  --> 普通管理员
#     jack,rain --> 业务主管
#     其他 --> 普通用户
#     '''

# name = input("username:")
# if name == "jason":
#     print("jason --> 超级管理员")
# elif name == "tom":
#     print("tom --> 普通管理员")
# elif name == "jack" or name == "rain":
#     print("jack,rain --> 业务主管")
# else:
#     print("其他 --> 普通用户")


# 2.编写用户登录程序
#  要求:有用户黑名单 如果用户名在黑名单内 则拒绝登录
#     eg:black_user_list = ['jason','kevin','tony']
#  如果用户名是黑名单以外的用户则允许登录(判断用户名和密码>>>:自定义)
#     eg: oscar 123

# black_user_list = ["jason", 'kevin', 'tony']
# login_name = input("login_name:")
# password = input("password:")
# db_login = {"吴勇": "123456", "小明": "123", "jason": "321"}
# if login_name not in black_user_list:
#     if login_name in db_login:
#         if password == db_login[login_name]:
#             print("用户名密码正确!登陆成功!")
#         else:
#             print("用户密码不正确!")
#     else:
#         print("用户名不正确!")
# else:
#     print("当前账号在黑名单中,无法登陆,请联系管理员:吴勇 18593458963 ")

# 3.编写用户登录程序
#  用户如果登录失败 则只能尝试三次
#  用户如果登录成功 则直接结束程序

# count = 0
# while count<3:
#     login_name = input("login_name:")
#     password = input("password:")
#     if login_name == "wuyong" and password == "123456":
#         print("登陆成功")
#         count=3
#     else:
#         print("用户名或者密码错误!")
#     count +=1
#     if count ==3:
#         break

# 4.猜年龄的游戏
#  假设用户的真实年龄是18 编写一个猜年龄的游戏 获取用户猜测的年龄
#  基本要求:可以无限制猜测 每次猜错给出提示(猜大了 猜小了) 猜对则结束程序
# while True:
#     age = input("age :")
#     age = int(age)
#     if age > 18:
#         print("猜大了!")
#     if age < 18:
#         print("猜小了")
#     if age==18:
#         print("猜对了")
#         break

#  拔高练习:每次猜测只有三次机会 一旦用完则提示用户是否继续尝试 用户通过输入n或者y来表示是否继续尝试
#  如果是y则继续给用户三次猜测机会 否则结束程序
# count = 0
# while True:
#     age = input("age :")
#     age = int(age)
#     if age > 18:
#         print("猜大了!")
#     if age < 18:
#         print("猜小了")
#     if age == 18:
#         print("猜对了")
#         break
#     count += 1
#     if count == 3:
#         c = input("输入y表示继续给三次机会,n表示不想继续玩了:")
#         if c == "y":
#             count = 0
#         elif c=="n":
#             print("玩家选择游戏结束!")
#             break

标签:循环体,name,代码,else,while,垃圾,print,age
From: https://www.cnblogs.com/yong-wu/p/16735693.html

相关文章

  • 7、python入门篇 垃圾回收和流程控制
    目录今日内容总结一、垃圾回收机制1、引用计数2、标记清除3、分类代收二、流程控制1、理论2、必备知识3、分支结构4、循环结构今日内容总结一、垃圾回收机制垃圾回收机......
  • 垃圾回收机制和流程控制理论
    垃圾回收机制和流程控制理论今日内容概要垃圾回收机制流程控制理论(重要)流程控制之分支结构(重要)流程控制之循环结构(重要)今日内容详细垃圾回收机制"""有一些语言......
  • 垃圾回收机制、流程控制、分支结构、循环结构
    垃圾回收机制"""有一些语言内存空间的申请和释放都需要程序员自己写代码才可以完成但是python却不需要通过垃圾回收机制自动管理"""1.引用计数name='jason' ......
  • 垃圾回收机制 流程控制
    垃圾回收在程序执行过程中,变量绑定和引用以积极各种内存操作,使用过后不在使用,如果不清理就会产生垃圾数据,占用大量内存,导致计算机不能正常运行,有一些语言内存空间的申请......
  • 垃圾回收机制及流程控制
    1、昨日内容回顾布尔值(bool)常见的布尔值为False的数据值、布尔值的变量的命名方式。元组(tuple)不可变数据类型。集合(set)用来做成员运算、空集合。计算机......
  • 关键字 while
    Javawhile循环语句用法详解 while的执行顺序:while语句计算的表达式,必须返回boolean值。如果表达式计算为true,while语句执行while块的所有语句。while语句继续测试表达......
  • 垃圾回收机制GC
    垃圾回收机制GC我们已经知道,name='leethon'这一赋值变量的操作,是将变量与数据值相绑定。而数据值是存储到内存中的,有时变量会重新赋值即绑定其他数据值,而使得原本的数......
  • while循环
    一、循环的分类循环类型描述while在给定的判断条件为true时执行循环体,否则退出循环体for重复执行语句 (一)循环控制语句控制语句描述break 语......
  • 9条消除if...else的锦囊妙计,助你写出更优雅的代码
    前言最近在做代码重构,发现了很多代码的烂味道。其他的不多说,今天主要说说那些又臭又长的if...else要如何重构。在介绍更更优雅的编程之前,让我们一起回顾一下,不好的if...e......
  • do...while循环体
    基本语法 不要忘记while()后还需要加分号!!!例(输出五句hello):inti=1;//循环变量初始化intmax=5;//循环的最大次数do{printf("hello!");//循环体......