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

 

posted @ 2018-12-10 10:40  米线Max  阅读(161)  评论(0编辑  收藏  举报