作业三
5. 尝试实现一个管理系统
=======通讯录管理系统=======
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================
print("{:=^21}". format('通讯录管理系统')) print("1.增加姓名和手机") print("2.删除姓名") print("3.修改手机") print("4.查询所有用户") print("5.根据姓名查找手机号") print('6.退出') print("============================") d1=[] d2=[] while True: l=int(input("请选择你想要使用的功能:")) if l==1: name=input('请输入你想要增加的姓名:') phone=(input('请输入你想要添加的手机号码:')) d1.append(name) d2.append(phone) elif l==2: while True: name2=input('请输入你想要删除的姓名:') if name2 in d1: d1.remove(name2) print('删除成功') break else: b=input('没有该姓名,是否重新输入:') if b=='是': continue elif b=='否': break else: print('输入有误') break break elif l==3: while True: phone2=(input('你打算要修改的手机号码是:')) if phone2 in d2: phone3=(input('请输入新的手机号码:')) n=d2.index(phone2) del d2[n] d2.insert(n,phone3) print('修改成功') else: b=input('没有该手机号码,是否重新输入:') if b=='是': continue elif b=='否': break else: print('输入有误') break break elif l==4: for i in range(len(d1)): print(d1[i]) print() elif l==5: while True: name3=input('你想要查询电话的机主是:') if name3 in d1: n1=d1.index(name3) print(d2[n1]) else: d=input('您输入的机主没有储存,是否重新输入:') if d=='是': continue elif d=='否': break else: print('输入有误') break break elif l==6: break else: while True: print('你输入的功能有误请重新输入') break
作业四
5. 随机产生密码:
在26个大小写字母和10个数字组成的列表中,随机生成10个8位密码
import random b1=[] b2=[] b3=[] for i in range(48,57): n=chr(i) b1+=n for i in range(65,90): n=chr(i) b2+=n for i in range(97,122): n=chr(i) b3+=n b4=b1+b2+b3 l='' for i in range(10): b5=random.shuffle(b4) n=b4[i] l+=n print(l)
作业五
1.通过代码实现如下转换:
• 二进制转换成十进制:v = “0b1111011”
• 十进制转换成二进制:v = 18
• 八进制转换成十进制:v = “011”
• 十进制转换成八进制:v = 30
• 十六进制转换成十进制:v = “0x12”
• 十进制转换成十六进制:v = 87
v=0b1111011 v1=int(v) print(v1) v=18 v1=bin(v) print(v1) v=int('011') #为什么转化成八进制要加引号 print(v) v=oct(30) print(v) v=int(0x12) print(v) v=hex(87) print(v)
3.求结果
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
v1=1 or 3 print(v1) v2=1 and 3 print(v2) v3=0 and 2 and 1 print(v3) v4=0 and 2 or 1 print(v4) v5=0 and 2 or 1 or 4 print(v5) v6=0 or False and 1 print(v6)
7.求结果: a. [ i % 2 for i in range(10) ] b. ( i % 2 for i in range(10) )
a=[i%2 for i in range(10)] print(a) b=(i%2 for i in range(10)) print(b)
8.求结果: a. 1 or 2 b. 1 and 2 c. 1 < (2==2) d. 1 < 2 == 2
a=1 or 2 print(a) b=1 and 2 print(b) c=1< (2==2) #为什么是False print(c) d=1<2==2 print(d)
作业6
5.爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请编程求解该阶梯至少有多少阶?
n=0 i=0 while True: if n%2==1 and n%3==2 and n%5==4 and n%6==5 and n%7==0: i=n break else: n+=7 print(i)
8.member.append(['竹林小溪', 'Crazy迷恋']) 和member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?
不一样,member.append()括号里面是什么元素就会添加什么元素在对尾,包括任何的符号
而member.extend([])中括号里面是什么元素就会添加什么元素。
所以第一个添加的是一个列表,第二个添加的是两个元素。
9.请问如何将下边这个列表的'小笨蛋'修改为'小坏蛋'?
list1 = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]
list1=[1,[1,2,['小笨蛋']],3,5,8,13,18] list1[1][2]='小坏蛋' print(list1)
14.编写一个进制转换程序(提示,十进制转换二进制可以用bin()这个BIF):
n=int(input('请输入你想要转换的数字:')) l=int(input('请输入你想要转换成多少进制:')) if l==2: print(bin(n)) elif l==8: print(oct(n)) elif l==10: print(int(n)) elif l==16: print(hex(n)) else: print('你输入的进制有误')