一、引用计数和垃圾回收机制

  当一个执行程序完毕后,回收变量所占据的内存。

  当引用计数变为0的时候,回收变量所占据的内存。

a=100
print(id(a))
a=input('==>:')    #当a被覆盖时a=100所占用的内存被回收
print(id(a))

输出

140722188971952
==>:1
2403418781264

二、可变类型和不可变类型

  可变类型:

    在id不变的情况下,value值改变,则称之为可变类型。

  不可变类型:

    value值发生改变,id改变,则称之为不可变类型。

三、格式化输出

 程序中经常出现这样的场景,要求用户去输入信息,然后但因成固定的格式。

  比如要求用户输入用户名和密码然后打印如下格式

My user is  xxx ,my user_passwd is xxx

  这种情况下就用到了%s和%d

res = 'my user is  %s  ,my user_passwd is %d' %('cong,12345)
print(res)

  这里要注意%d只可以接收数字,%s可以接收数字也可以接受字符串。

  第一种方法,传递参数

res = 'my user is {user}, my user_passwd is {user_passwd}'.format(user='cong',user_passwd=12345)
print(res)

  第二种方法按顺序传送

res = 'my user is {0}, my user_passwd is {1}'.format('cong',12345)
print(res)

四、流程控制之if...else...

  在if循环里,有几个需要用到的逻辑运算符

  and  代表 “和”

  or  代表 “或”

  not  代表 “非”

name = '聪聪'
res = input('你叫什么名字?')
if res == name:print('帅哥')
else:print('丑男')

#如果:女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨
age_of_girl=18
height=171
weight=99
is_beautiful=True
if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and weight < 100 and is_beautiful == True:print('表白...')
else:print('阿姨好')

五、流程控制之while

  在while循环里,有两个结束循环的词

    break  结束循环

    ontinue  跳过本次循环

while 条件:    # 循环体# 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。# 如果条件为假,那么循环体不执行,循环终止

import time
num = 0
while True:print(num)num += 1time.sleep(1)

打印0-10之间的偶数

count = 0
while count <= 5 :count += 1print("Loop",count)
else:print("循环正常执行完啦")
print("-----out of while loop ------")
输出
Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
循环正常执行完啦
-----out of while loop ------

for letter in 'Python':     # continue第一个实例if letter == 'h':continueprint('当前字母 :', letter)var = 10                    # continue第二个实例
while var > 0:var = var -1if var == 5:continueprint('当前变量值 :', var)
print("Good bye!")count = 0        #break实例
while True:print(count)count+=1if count == 5:break

break 和 continue

六、流程控制之for

1.迭代式循环:for,语法如下

  for i in res():

    缩进的代码块

2.break与continue(同上)

七、练习

  做一个猜拳的游戏!!!

  提示 import random  随机模块

import random
WIN=0
lose=0
draw=0
while True:print('==========欢迎来猜拳==========')print('WIN:%s lose:%s draw:%s' % (WIN,lose,draw))print('1.石头','2.剪刀','3.布','4.退出')hum_choose=input('==>:')computer_choose=random.choice(['石头','剪刀','布'])#胜利if hum_choose== '1' and computer_choose=='剪刀' or hum_choose=='2'and computer_choose=='布' or hum_choose=='3' and computer_choose=='石头':print('you WIN!!!')WIN+=1#失败elif hum_choose=='3' and computer_choose=='剪刀' or hum_choose=='1' and computer_choose=='布' or hum_choose=='2' and computer_choose=='石头':print('you lose')lose+=1#平局elif hum_choose=='2' and computer_choose=='剪刀'or hum_choose=='3' and computer_choose=='布' or hum_choose=='1' and computer_choose=='石头':print('you draw')draw+=1#退出游戏elif hum_choose=='4':print('gameover')breakelse:print('input error')

猜拳游戏答案

  做一个名片管理系统

  不要看答案!自己做!

l1 =[]
info ={}
while True:print('=' * 60)print('名片管理系统')print('1.查询  2.添加  3.修改  4.删除  5.定点查询  6.退出  ')choose = input('请输入选项:').strip()# 查询if choose == '1':if l1:i = 1while i < len(l1)+1:print('%s.姓名:%s 年龄:%s 电话:%s' % (i,l1[i-1]['name'],l1[i-1]['age'],l1[i-1]['phone']))i += 1else:print('当前名片为空')# 添加elif choose == '2':name = input('姓名:').strip()age = input('年龄:').strip()phone = input('电话:').strip()if name and age and phone:info = {'name':name,'age':age,'phone':phone}l1.append(info)else:print('请输入相应的信息')# 修改elif choose == '3':j = 1while j < len(l1)+1:print('%s.姓名:%s 年龄:%s 电话:%s' % (j,l1[j-1]['name'],l1[j-1]['age'],l1[j-1]['phone']))j += 1update = input('请输入需要修改的名片:').strip()if update:if int(update) < len(l1)+1:u_name = input('修改的姓名:').strip()u_age = input('修改的年龄:').strip()u_phone = input('修改的电话:').strip()if u_name:l1[int(update)-1]['name'] = u_nameif u_age:l1[int(update)-1]['age'] = u_ageif u_phone:l1[int(update)-1]['phone'] = u_phoneprint('姓名:%s 年龄:%s 电话:%s' %(l1[int(update)-1]['name'],l1[int(update)-1]['age'],l1[int(update)-1]['phone']))else:print('没有该名片')else:print('警告:没有输入需要修改的名片!')# 删除elif choose == '4':delete = input('请输入需要删除的名片:').strip()if delete:if int(delete) < len(l1)+1:l1.remove(l1[int(delete)-1])else:print('没有该名片')else:print('警告:没有输入需要删除的名片!')# 定点查询elif choose == '5':q = input('请输入指定的名片:').strip()if q:if int(q) < len(l1)+1:print('姓名:%s 年龄:%s 电话:%s' % (l1[int(q)-1]['name'],l1[int(q)-1]['age'],l1[int(q)-1]['phone']))else:print('没有该名片')else:print('警告:没有输入指定的名片!')# 退出elif choose == '6':print('欢迎下次使用')breakelse:print('输入错误')

名片管理系统答案

  

转载于:https://www.cnblogs.com/Amrice/p/10738528.html

python之地基(三)相关推荐

  1. Python机器学习(三)--决策树算法

    Python机器学习(三)--决策树算法 原创  2014年07月14日 13:57:55

  2. python爬虫正则表达式实例-python爬虫学习三:python正则表达式

    python爬虫学习三:python正则表达式 1.正则表达式基础 a.正则表达式的大致匹配过程: 1.依次拿出表达式和文本中的字符比较 2.如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符 ...

  3. [转载]Python爬虫入门三之Urllib库的基本使用

    python爬虫系列教程http://cuiqingcai.com/1052.html 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优 ...

  4. 第一章 TensorFlow基础——python语法(三)

    简明Python基础(三) 此为jupyter notebook导出文档,如果习惯jupyter界面可以下载文件 链接:https://pan.xunlei.com/s/VMn5shjbvhvIPMq ...

  5. 计算机语言平均数怎么算,使用python怎么求三个数的平均值

    使用python怎么求三个数的平均值 发布时间:2021-04-27 17:31:39 来源:亿速云 阅读:64 作者:Leah 本篇文章给大家分享的是有关使用python怎么求三个数的平均值,小编觉 ...

  6. Python服务器开发三:Socket

    Python服务器开发三:Socket socket是操作系统中I/O的延续,它可以使进程和机器之间的通信成为可能.socket可以看成一个标准的文件描述符.不同的是文件需要用open()函数打开,而 ...

  7. Python基础(三)--序列

    Python基础(三)--序列 1 序列相关的概念 1.1 什么是序列 序列是一种可迭代对象,可以存储多个数据,并提供数据的访问. 序列中的数据称为元素,Python内置的序列类型有:列表(list) ...

  8. Python二叉树的三种深度优先遍历

    Python二叉树的三种深度优先遍历 一.广度优先遍历和深度优先遍历 对二叉树进行遍历(traversal)是指依次对树中每个节点进行访问,在遍历的过程中实现需要的业务. 对树的遍历方式有广度优先遍历 ...

  9. 计算机等级考试二级Python讲座(三)

    计算机等级考试二级 Python 讲座 第三章 基本数据类型 by 梦雅微信:762459510 考纲考点 数字类型:整数类型.浮点数类型和复数类型 数字类型的运算:数值运算操作符.数值运算函数 字符 ...

  10. python中特殊变量-python list每三个分成一组python中星号变量的几种特殊用法

    在Python中星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入或变量的拆解,本文将详细介绍"星号参数" ...

最新文章

  1. 难以想象!未来十年,颠覆性技术将带来这些社会变革……
  2. 根据输入的日期计算你活了多少天(新手)
  3. 负载均衡Load Balance学习
  4. Ideal Farm 构造(2400)
  5. 数据结构之Dijkstra算法
  6. 【基于注解方式】Spring整合Kafka
  7. oracle tirger_又一次发现Oracle太美之awr相关脚本简介
  8. android firefox 版本,Android版本Firefox初期预览版发布
  9. ClassLoader 学习笔记
  10. matlab prn文件,PRN文件扩展名 - 什么是.prn以及如何打开? - ReviverSoft
  11. [YOLOv7]基于YOLOv7的反光衣检测系统(源码&部署教程&数据集)
  12. android app 按键精灵,安卓按键精灵的,关闭app程序问题!
  13. 问题记录 -- 未定义的引用 ||| not found
  14. 在微信收藏笔记中的录音文件拷贝或另存问题--适用于silk无法导出,看不见的情况
  15. 高通linux-多核启动以及CPU热插拔驱动
  16. babylon-gui文档笔记
  17. jmeter5.4.1 调整默认工具栏图片大小
  18. 最全解释:Linux操作系统下的软件安装与管理详解(源码安装、rpm/dpkg、yum/apt-get安装)
  19. Nmap扫描工具的使用
  20. 笔记2--Proe4.0 标准件库 安装

热门文章

  1. .NET Framework 4.0-RequestValidationMode
  2. SqlDependency学习笔记
  3. LR(0)语法制导翻译
  4. LaTeX入门最终集 :LaTeX格式的调整LaTeX中怎么打出数学公式LaTeX的各种上下标
  5. 计算机日期无法更改吗,电脑时间不能修改怎么办 电脑系统时间总是不对怎么办...
  6. HTML5动态圆形导航,jQuery带动画特效的圆形导航菜单特效
  7. zipparameters 使用_JAVA利用Zip4j解压缩【转】
  8. openwrt+linux编译,openwrt x86 编译部署
  9. ubuntu安装python编译器_在Ubuntu上安装/编译grpc时出错
  10. 普通话计算机考试相关信息,普通话考试常见问题有哪些