python05

第五天

回顾总结

  1. int
  • py2(int/long)/py3区别
  • 除法
  • 强制转换int()
  • 字符串类型的数字
  • 布尔值
  1. bool
  • 强制转换bool()
  • 整型(0)
  • 字符串(’’)
  • 列表([])
  • 元组(())
  • 以上转换为False
  1. str
  • 独有
  • upper/lower/split/strip/replace/isdigit/starswith/endswith/format/join/encode
  • 公共
  • len/索引/切片/步长/for/无删除更新
  • 强制转换
  • 整形
  • 布尔值
  • 列表会将[]也变成字符串
  • 元组会将()也变成字符串
  • 可以使用’’.join(list)达成连接目的
  1. list
  • 独有
  • append/insert/extend/pop/remove/clear
  • 公共
  • len/索引/切片/步长/for/删除/更新
  • 强制转换
  • 字符串(会将每个字符串编程列表的元素)
  • 元组
  • 元组
  1. tuple
  • 公共
  • len/索引/切片/步长/for/无删除更新
  • 强制转换
  • 字符串(会将每个字符变成元组的元素)
  • 列表
  1. 赋值
    如果已知元素数量,可以一次赋多值
    k, v = [1, 2]

字典

  1. 格式
  • 列表不能当键(不可哈希)
info = {'name':'alex'}	# 键值对
info['name']	# 'alex'
  1. 表示事物的多个属性
  2. 功能
  • 独有
  • keys() 获取字典中的所有键

  • values() 获取字典中的所有值

  • items() 获取字典中的键值对

info = {'name':'alex'}
for v1, v2 in info.items():
	print(v1, v2)
  1. 公共
  • len
  • 键值对的个数
  • 索引
  • 键值即索引
  • for
  • 直接循环索引字典默认循环keys
  • 只能更新值
  • 直接赋值
  • 更新键及删除键值对,在新增加
  • 删除
  • del info[‘键’]
  • 增加
  • infi[‘新键’]=‘新值’
    4.练习
info = {'name': '刘伟达', 'age': 18, 'gender': '男', 'hobby': '同桌'}
# 取出刘伟达
value = info['name']
print(value)
# 输出所有的键
for i in info:
    print(i)
# 输出所有的键和值
for k, v in info.items():
    print(k, v)
# 用户输入键,输出值
while True:
    k = input("请输入:")
    print(info[k])
# 请在空字典中添加数据
info = {}
k = input('key:')
v = input('val:')
info[k] = v
print(info)
# 请在空字典中添加数据,输入N终止
while True:
    k = input('key:')
    if k == 'N':
        break
    v = input('val:')
    info[k] = v
print(info)
# 变含固定分个符的字符串为字典
massage = 'k1|v1,k2|v2,k3|v3'
info = {}
massage = massage.split(',')
for item in massage:
    item = item.split('|')
    k, v = item
    info[k] = v
print(info)
# 创建用户列表,输入用户名密码登录
user_list = []
user_dict = {}
while True:
    user = input('请注册用户名:')
    if user == 'N':
        break
    pwd = input('请注册密码:')
    user_dict = {'user': user, 'pwd': pwd}
    user_list.append(user_dict)
u = input('用户名')
p = input('密码')
for item in user_list:
    if item['user'] == u and item['pwd'] == p:
        print('登录成功')
print('登录失败')

作业

  1. 请将列表中的每个元素通过 “_” 链接起来。
users = ['李少奇','李启航','渣渣辉']
result = '_'.join(users)
print(result)
  1. 请将列表中的每个元素通过 “_” 链接起来。
users = ['李少奇','李启航',666,'渣渣辉']
users = ['李少奇', '李启航', '渣渣辉', 666]
ls = []
for i in users:
    ls.append(str(i))
result = '_'.join(ls)
print(result)
  1. 请将元组 v1 = (11,22,33) 中的所有元素追加到列表 v2 = [44,55,66] 中
v1 = (11, 22, 33)
v2 = [44, 55, 66]
v2.extend(v1)
print(v2)
  1. 请将元组 v1 = (11,22,33,44,55,66,77,88,99) 中的所有偶数索引位置的元素 追加到列表 v2 = [44,55,66] 中。
v1 = (11, 22, 33, 44, 55, 66, 77, 88, 99)
v2 = [44, 55, 66]
ls = v1[0::2]
v2.extend(ls)
print(v2)
  1. 将字典的键和值分别追加到 key_list 和 value_list 两个列表中,如:
key_list = []
value_list = []
info = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
key_list.extend(info.keys())
value_list.extend(info.values())
print(key_list, value_list)
  1. 字典dic = {‘k1’: “v1”, “k2”: “v2”, “k3”: [11,22,33]}
# 请循环输出所有的key
# 请循环输出所有的value
# 请循环输出所有的key和value
dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
for k, v in dic.items():
    print(k, v)
# 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
dic['k4'] = 'v4'
print(dic)
# 请在修改字典中 "k1" 对应的值为 "alex",输出修改后的字典
dic['k1'] = 'alex'
print(dic)
# 请在k3对应的值中追加一个元素 44,输出修改后的字典
ls = dic['k3']
ls.append(44)
dic['k3'] = ls
print(dic)
# 请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典
ls = dic['k3']
ls.insert(0, 18)
dic['k3'] = ls
print(dic)
  1. 请循环打印k2对应的值中的每个元素。
info = {'k1': 'v1', 'k2': [('alex'), ('wupeiqi'), ('oldboy')], }
for i in info['k2']:
    print(i)
  1. 有字符串"k: 1|k1:2|k2:3 |k3 :4" 处理成字典 {‘k’:1,‘k1’:2…}
q = "k: 1|k1:2|k2:3 |k3 :4"
q1 = q.split('|')
print(q1)
dic = {}
for i in q1:
    q2 = i.split(':')
    dic[q2[0]] = q2[1]
print(dic)
  1. 写代码
"""
有如下值 li= [11,22,33,44,55,66,77,88,99,90] ,将所有大于 66 的值保存至字典的第一个key对应的列表中,将小于 66 的值保存至第二个key对应的列表中。

result = {'k1':[],'k2':[]}
"""
result = {'k1': [], 'k2': []}
li = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
for i in li:
    if i >= 66:
        result['k1'].append(str(i))
    else:
        result['k2'].append(str(i))
print(result)
  1. 输出商品列表,用户输入序号,显示用户选中的商品
"""
商品列表:
  goods = [
		{"name": "电脑", "price": 1999},
		{"name": "鼠标", "price": 10},
		{"name": "游艇", "price": 20},
		{"name": "美女", "price": 998}
	]
要求:
1:页面显示 序号 + 商品名称 + 商品价格,如:
      1 电脑 1999 
      2 鼠标 10
	  ...
2:用户输入选择的商品序号,然后打印商品名称及商品价格
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4:用户输入Q或者q,退出程序。
"""
goods = [
    {"name": "电脑", "price": 1999},
    {"name": "鼠标", "price": 10},
    {"name": "游艇", "price": 20},
    {"name": "美女", "price": 998}
]
for i in range(0, len(goods)):
    name = goods[i]['name']
    price = goods[i]['price']
    print(i + 1, name, price)
while True:
    index = input('序号')
    if index == 'Q' or index == 'q':
        print('退出')
        break
    index = int(index) - 1
    if index not in range(0, 4):
        print('输入错误')
    else:
        print(goods[index]['name'], goods[index]['price'])

你可能感兴趣的:(python05)