2021-07-06

字典

定义:字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”
如: a = {‘name’:‘Meili’,‘age’:18,‘job’:‘sleeper’}
a.get(‘name’)
键:‘name’, ‘age’, ‘job’
对应值:‘Meili’, 18, ‘sleeper’
键的数据类型为不可变数据:整数,浮点数,字符串,元组
可变对象数据类型: 列表,字典,集合不能做为键盘。

定义字典

a = dict(name='Meili',age=18,job='sleeper')
a = [('name','Meili'),('age',18)]
k = ['name','age','job']
v = ['gaoqi',18,'teacher']
a = dict(zip(k,v))
a = {'name':'Meili','age':18,'job':['A','B','C']}
a = dict.fromkeys(['name','age','job'])

字典元素的访问

a['name']
a['dadas']#报错
a.get('name')
a.get('dadas')#返回None
a.items()
a.keys()
a.values()

字典元素的添加、修改、删除

添加已有的键,覆盖前面内容

a['genda']='female'
b = dict(name='Meili', salary=14000)
a.update(b)
a.pop('name')
a.clear()
a.popitem()#依次弹出

序列解包

a,b,c = 10,20,30
(a,b,c) = (10, 20, 30)
[a, b, c] = [10, 20, 30]
s = dict(name ='Meili', age=18, job='teacher')
a,b,c = s#获得键内容
e,f,g = s.values()#获得值内容
o,p,q = s.items()

字典复杂表格

r1 = {'name':'张三‘,’salary': 20000,'city':'北京'}
r2 = {'name':'李四‘,’salary': 15000,'city':'长沙'}
r3 = {'name':'王五‘,’salary': 40000,'city':'成都'}

tb = [r1, r2, r3]

# 获得第一个人的薪水
print(tb[1].get('salary'))

# 打印表中所有的薪水
for i in range(len(tb)):
	print(tb[i].get('salary'))

# 打印表中所有内容
for i in range(len(tb)):
	print(tb[i].get('name'),tb[i].get('salary'),tb[i].get('city'))

集合

无序可变,元素不重复,底层是字典的键对象

集合的并集,交集和差集

选择结构

通过判断条件是否成立,来判断执行哪个分支
·单分支结构
·双分支结构
·多分支结构

#!usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author: lyf
@file: Day006.py
@time: 2021/07/08
@desc:
"""
a = input('请输入一个大于10的数:')
type(a)
if int(a)>10:
    print(a)

b = []
if not b: #b为false, not b变为true
    print('空的列表是False')

c = True
if c:
    print(c)

d = 0
if d:
    print(d)

if 3<d<100:
    print('3<d<100')

s = input('请输入一个数字:')
if int(s)<10:
    print('s是一个小于10的数字')
else:
    print('s是一个大于10的数字')

# 测试三元条件运算符
print('s是一个小于10的数字' if int(s)<10 else 's是大于10的数字')

#测试多分支选择结构

score = int(input('请输入学生的分数:'))
grade = ''

if score<60:
    grade = '不及格'
elif score<80: # 60-80之间
    grade = '及格'
elif score<90:
    grade = '良好'
else:
    grade = '优秀'
print('分数是{0},等级是{1}'.format(score,grade))

print('-----------------------')

if (60<=score<80):
    grade = '及格'
if (score<60):
    grade = '不及格'
if (80<=score<90):
    grade = '良好'
if (90<=score<=100):
    grade = '优秀'
print('分数是{0},等级是{1}'.format(score,grade))

选择结构的嵌套

#!usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author: lyf
@file: mypy02.py
@time: 2021/07/08
@desc:输入分数在0-100之间, 60以下是E,60以上是D,70以上是C,80以上
是B,90以上是A
"""
score = int(input('请输入学生的分数:'))
if score>100 or score<0:
    score = int(input('输入错误,请重新输入数字'))
else:
    if score>=90:
        grade = 'A'
    if score>=80:
        grade = 'B'
    if score>=70:
        grade = 'C'
    if score>=60:
        grade = 'D'
    else:
        grade = 'E'
    print('分数为{0},成绩等级为{1}.'.format(score,grade))

##
score = int(input('请输入一个数字:'))
degree = 'ABCDE'
num = 0
if score>100 or score<0:
    score = int(input('输入错误,请重新输入一个数字:'))
else:
    num = score//10
    if num<6:
        num = 5
    print('分数是{0},等级是{1}'.format(score,degree[9-num]))

循环结构

#!usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author: lyf
@file: mypy03.py
@time: 2021/07/08
@desc:
"""
num1 = 0
while num1<=10:
    print(num1)
    num1 += 1

print('-----------------')

num2 = 0
sum_all = 0
while num2<=100:
    sum_all = sum_all + num2
    num2 += 1

print('1-100所有数的累加和:',sum_all)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值