2--09 python知识点总览 4.25

字典

#定义好字典{键:值,键:值,}键:值,以逗号分隔
d={“lisi”:93,“wangwu”:78,“zhangsan”:78}
print(d )
print(d[“zhangsan”])#取字典中的某个值
#改变字典中的值
d[“zhangsan”]=99
print(d[“zhangsan”])
#如果改变的键中不存在字典中会报错

d[“xiaoming”]

#KeyError: ‘xiaoming’(报错)

#判断键是否存在于字典之中
print("-----;",d.get(“daf”))#-----; None(不存在)

#删除字典中的元素
d.pop(“wangwu”)
print(d)

#一行一行的输出字典中的键值
print(d[“zhangsan”])
print(d[“lisi”])
#{‘lisi’: 93, ‘zhangsan’: 99}

99

93

#循环打印字典
d1={“lisi”:93,“wangwu”:78,“zhangsan”:78}
for i in d1: # i 表示的是字典当中的键 ,d1[i]是字典中的值
print("—",i,d1[i])

#总结,和list相比,dict(dictionary)的优缺点
‘’’
#1,查找和插入的时间,随着元素的增加而增加
#2,占用的空间小,浪费内存小
‘’’
#dict的注意事项
‘’’
字典当中的key是不可变对象,唯一,不可重复通过key计算位置的算法:称为"哈希算法"
‘’’

a=(1:“asd”,1:“qwe”)

print(a)

dic1={“zhangsan”:[180,87,98]}

for k in dic1:

print(k);

print(dic1[k]);

#如何获取87
l=dic1[“zhangsan”]
l[1]
print(dic1[“zhangsan”][1])

dic2={“lisi”:{“aihao”:[1,2,3],“score”:98}}

l = dic1[“zhangsan”]
l[1]
print(dic1[“zhangsan”][1])

dic2 = {‘lisi’:{“爱好”:[1,2,3],“score”:98}}
#如何取3
a = dic2[‘lisi’][“爱好”][2]
print(a)

列表元组

list列表: 一种数据类型,有序集合,可以任意添加删除元素。 []

tuple元组:也是一种数据类型,有序,不能添加或删除元素,即:tuple一但初始化就不能修改了。没有list 的添加删除方法(没有append(),insert(), pop()等方法)。 定义:L=() ,其他和list相同,eg:索引表示,计算tuple长度:len()。
classmates = (‘zhangsan’,’lisi’,’wangwu ’,’’sdf”)
money=(3000,4000,5000)
tuple的意义优点:tuple一但初始化就不能修改了,代码更安全。如果可能,能有tuple代替list就尽量用tuple。

list = [[]] : 二维列表。
tuple = ([1,2,3],[4,5,6],[7,8,9])
如果tuple里面有list,那么可以改变list的元素。
tuple = ([1, 2, 3], [4, 5, 6], [7, 8, 9])
print(tuple[0])
print(type(tuple[0]))
print(tuple[0].append(122))
print(tuple)
tuple 的缺陷:当你定义一个tuple时,在定义的时候,tuple 的元素就必须被确定下来。

eg:

t = (1,2)
t
(1,2)
1.定义一个空tuple: tuple = ()
2.定义只有一个元素的tuple: tuple = (1,)
2. 请问以下变量哪些是tuple类型:
a = ()
b = (1)
c = [2]
d = (3,)
e = (4,5,6)

if…else

比如,输入用户年龄,根据年龄打印输出不同的类容

age = 20
if age >= 18:
print(‘你的年龄是 %s’ % age)
print(“成人”)

根据python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了。

如果if语句判断是False, 就不执行。(否则什么都不做。)

也可以给if添加一个else语句,意思是,如果if判断为False,不要执行if 的内容,

去执行else 里面的内容。

age = 5
if age >= 18:
print(‘你的年龄是 %s’ % age)
print(“成人”)
else:
print(‘你的年龄是 %s’ % age)
print(“未成人”)
注意: 不要少写了冒号 :

可以用else if 缩写: elif

age = 16
if age>=18:
print(“adult”)
elif age >= 10:
print(“青少年”)
elif age >=6:
print(“青少年1”)
else:
print(“kid”)

elif 是 else if 的缩写,完全可以有多个elif。

语法
‘’’
if <条件判断1>:
<执行内容1>
elif <条件判断2>:
<执行内容2>
elif <条件判断3>:
<执行内容3>
else:
<执行内容n>
‘’’
说明: 从上往下判断,如果在某个判断上为True,那么把判断对应的语句执行后,
就忽略掉剩下的elif和else。

练习:
小明身高1.75m,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖
用if-elif判断并打印结果:

-- coding: utf-8 --

height = 1.75
weight = 80.5
bmi = ???
if ???:
print(“”)
答案:
weight = 80.5
height = 1.75
bmi = weight/(height*height)
if bmi<18.5:
print(“过轻”)
elif bmi<=25:
print(“正常”)
elif bmi<=28:
print(“过重”)
elif bmi<=32:
print(“肥胖”)
else:
print(“严重肥胖”)

改版: 用户自动输入,加格式化练习
name = input(“请输入名字:”)
weight = float(input(“请输入体重:”))
height = float(input(“请输入身高:”))
bmi = weight/(height*height)
if bmi<18.5:
print(name,“的bmi为:%.2f,为 %s” % (bmi,“过轻”))
elif bmi<=25:
print(name, “的bmi为:%.2f,为 %s” % (bmi, “正常”))
elif bmi<=28:
print(name, “的bmi为:%.2f,为 %s” % (bmi, “过重”))
elif bmi<=32:
print(name, “的bmi为:%.2f,为 %s” % (bmi, “肥胖”))
else:
print(name, “的bmi为:%s,为 %s” % (bmi, “严重肥胖”))

改版二: 加上list练习

分别计算 张三、小明和小红的 bmi

classmate = [[‘张三’, 67, 1.75],[‘小明’, 77, 1.80],[‘小红’, 88, 1.90]]
name = classmate[0][0]
weight = classmate[0][1]
height = classmate[0][2]
bmi = weight / (height * height)
if bmi < 18.5:
print(name, “的bmi为:%.2f,为 %s” % (bmi, “过轻”))
elif bmi <= 25:
print(name, “的bmi为:%.2f,为 %s” % (bmi, “正常”))
elif bmi <= 28:
print(name, “的bmi为:%.2f,为 %s” % (bmi, “过重”))
elif bmi <= 32:
print(name, “的bmi为:%.2f,为 %s” % (bmi, “肥胖”))
else:
print(name, “的bmi为:%s,为 %s” % (bmi, “严重肥胖”))

.循环
循环:Python 的循环有两种,一种是 for…in 循环,依次把 list 或 tuple 中的每个元素迭代出来
for循环语法:

for 迭代变量 in 对象(序列):
循环体
流程图:
在这里插入图片描述
所以for name in userName: 循环就是把userName 的每个元素代入变量name,然后执行缩进块的语句

while 循环:

语法:

while 条件表达式:
循环体
流程图:在这里插入图片描述
第二种循环是 while 循环,只要条件满足,就不断循环,条件不满足时退出循环。
在循环内部变量 n 不断自减,直到变为-1 时,不再满足 while 条件,循环退出。

continue语句会立即跳到循环的顶端,即跳过本次循环,执行下一次循环

break 语句会立即离开循环

练习:
1.输入5个同学的name,weight,height.请根据BMI公式(体重除以身高的平方)分别求出他们的BMI指数,并根据BMI指数:
低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖

2.猜数字;
编写一个猜数字的小游戏,随机生成一个1-10(包括1和10)之间的数字作为基准数,玩家每次通过键盘输入一个数字,如果输入的数字和基准数相同,则成功过关,否则重新输入,如果玩家输入-1,则表示退出游戏。效果图如下:

提示:
import random # 导入随机数模块
random = random.randint(1, 10) # 生成1到10之间的随机数
在这里插入图片描述
流程控制语句

python中的函数没有{ },所以语句之间都是以 tab键进行缩进来确定层次结构的,另每个条件句末尾都是以冒号 : 结尾

1、条件判断 if

基本格式:

if 判断条件:

执行语句…

elif 判断条件:

执行语句…

else:

执行语句…

逻辑操作符: and、or、not、in、not in

例:判断三角形

a,b,c = 3,4,5

if a + b > c and a + c > b and b + c > a:

if a == b and b == c:

print(“等边三角形”)

elif a == b or a == c or b == c:

print(“等腰三角形”)

else:

print(“普通三角形”)

else:

print(“不是三角形”)

for 循环

while循环

猜你喜欢

转载自blog.csdn.net/With__Hope/article/details/89604035
今日推荐