Python 基础习题 1208
1. 尝试实现一个管理系统
=======通讯录管理系统=======
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================
print('=======通讯录管理系统========') dict_sys = {'米佳奇':156,'张雪':123,\ '杨亚刚':456,'鹿宏阳':789 ,'胡伟涛':258,'刘洪生':369} while True : fun = int(input('''请输入您所需的功能 1.增加姓名和手机 2.删除姓名 3.修改手机 4.查询所有用户 5.根据姓名查找手机号 6.退出 请输入:''')) if 6<fun or fun<1: print() print('sorry,功能有待开发') print() continue elif fun == 1: print() name_add = input('请输入姓名:') phone_add = input('请输入号码:') dict_sys[name_add] = phone_add print() print('添加完成') print() continue elif fun == 2: print() name_del = input('请输入要删除的联系人:') if name_del in dict_sys: dict_sys.pop(name_del) print() print('联系人已删除') print() continue else : print() print('联系人不存在') print() continue elif fun== 3 : print() name_change = input('您想修改的联系人:') if name_change in dict_sys: phone_change = input('请输入新的号码:') k[name_change] = phone_change print() print('修改已完成') print() continue else: print() print('联系人不存在') print() continue elif fun == 4: print() for i in dict_sys.items(): print(i) print() continue elif fun == 5: print() name_find = input('您要查找的联系人:') if name_find in dict_sys: print('手机号为:{}'.format(dict_sys.get(name_find))) print() continue elif fun == 6: print() print('希望下次还能够见到您~~再见') print() break
2. 随机产生密码:在26个大小写字母和10个数字组成的列表中,随机生成10个8位密码
import random desk = [] for i in range(ord('a'),ord('z')+1): desk.append(chr(i)) for j in range(ord('A'),ord('Z')+1): desk.append(chr(j)) for k in range(10): desk.append(str(k)) #print(desk) for a in range (10): password=[] for i in range(8): strs = random.choice(desk) password += strs print(password)
3.通过代码实现如下转换:
• 二进制转换成十进制:v = “0b1111011”
• 十进制转换成二进制:v = 18
• 八进制转换成十进制:v = “011”
• 十进制转换成八进制:v = 30
• 十六进制转换成十进制:v = “0x12”
• 十进制转换成十六进制:v = 87
n = int(0b1111011) b = bin(18) n1 = int(0o011) o = oct(30) n2 = int(0x12) x = hex(87)
4.求结果
v1 = 1 or 3
v2 = 1 and 3
v3 = 0 and 2 and 1
v4 = 0 and 2 or 1
v5 = 0 and 2 or 1 or 4
v6 = 0 or Flase and 1
答:1,3,0,1,1,False
5.求结果: a. [ i % 2 for i in range(10) ] b. ( i % 2 for i in range(10) )
a =[0, 1, 0, 1, 0, 1, 0, 1, 0, 1] b = 生成器,可以next() 或for遍历
6.求结果: a. 1 or 2 b. 1 and 2 c. 1 < (2==2) d. 1 < 2 == 2
a = 1 b = 2 c = True d = False