Python学习练习(2)

初学Python的时候写的呀! 对字典的操作。

字典基础

由学生名字和成绩组成的字典student如下: student = {‘Jack’:46,‘Lily’:100,‘Mickey’:78,‘Jurry’:87,‘Angle’:60}

  • 在student字典中追加你的名字和成绩
  • 将’Lily'的分数修改为95
  • 打印出分数最低的学生的名字和分数
1
2
3
4
student = {'Jack':46,'Lily':100,'Mickey':78,'Jurry':87,'Angle':60}
student['Lijian'] = 100
student['Lily'] = 95
print(min(student.items(), key=lambda x: x[1]))

字典的key-value

字典: person = {‘li’:‘python’,‘wang’:‘perl’,‘zhang’:‘java’,‘sun’:‘shell’} 将字典的key和value交换,即将person做输入, 输出另一个字典,用person中的键作为值,person中的值作为键。

1
2
3
person = {'li':'python','wang':'perl','zhang':'java','sun':'shell'}
person1 = {v:k for k,v in person.items()}
print(person1)

字典中的字典

有手机通信录组成的字典如下: friends={ ‘Jack’:{‘qq’:‘3424553’,‘phone’:‘13453829191’ }, ‘Lily’:{ ‘qq’:‘4532332’,‘phone’:‘18753549101’}, ‘Lucy’:{‘qq’:‘33211580’,‘phone’:‘13555529671’}, ‘Tom’:{‘qq’:‘45323897’, ‘phone’:‘13654812315’ } } 输入要查找朋友的名字,然后如果输入q就得到对应朋友的qq号码, 如果输入的p得到对应朋友的电话号码。如果输入的名字不存在就打印出:不存在该名字。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
friends = {
'Jack':{'qq':'3424553','phone':'13453829191' },
'Lily':{ 'qq':'4532332','phone':'18753549101'},
'Lucy':{'qq':'33211580','phone':'13555529671'},
'Tom':{'qq':'45323897', 'phone':'13654812315'}
}
name = input("输入一个名字:")
if (name in friends.keys()):
    pq = input("输入q或p:")
    if (pq == 'q'):
        print(friends[name]['qq'])
    elif (pq == 'p'):
        print(friends[name]['phone'])
    else:
        print("输入错误!")
else:
    print("不存在该名字!")

生成验证码

生成10位的100个随机验证码 要求:前两位为100以内的随机数字,后面八位为随机的数字(0~9)和26个字母组成的。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import random
list1 = []
list2 = []
#前两位
for i in range(100):
    list1.append(str(i).zfill(2))
#后八位
for i in range(10):
    list2.append(str(i))
for i in range(65,91):
    list2.append(chr(i))
for i in range(97,123):
    list2.append(chr(i))
for i in range(100):
    yzm1 = random.sample(list1,1)
    yzm2 = random.sample(list2,8)
    yzm = yzm1+yzm2
    for i in yzm:
        print(i,end="")
    print()