5. 尝试实现一个管理系统
=======通讯录管理系统=======
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================
''' =======通讯录管理系统======= 1.增加姓名和手机 2.删除姓名 3.修改手机 4.查询所有用户 5.根据姓名查找手机号 6.退出 ============================ ''' d = {} n = int(input("请输入你要选择的功能编号")) while True: if n == 1: name = input("姓名:") cellphone = int(input("手机号:")) d[name] = cellphone print(d) break if n == 2: name = input("姓名") d.pop(name) print(d) break if n == 3: name = input("姓名") cellphone = int(input("手机号:")) d[name] = cellphone print(d) break if n == 4: print(d.keys()) break if n ==5: name = input("姓名") print(d[name]) break if n ==6: break
5. 随机产生密码:
在26个大小写字母和10个数字组成的列表中,随机生成10个8位密码
from random import* s = [chr(i) for i in range(ord("A"),ord("Z")+1)] for m in range(ord("a"),ord("z")+1): s.append(chr(m)) for j in range(10): s.append(j) for i in range(10): s = sample(s,8) print(s)
1.通过代码实现如下转换:
• 二进制转换成十进制:v = “0b1111011”
• 十进制转换成二进制:v = 18
• 八进制转换成十进制:v = “011”
• 十进制转换成八进制:v = 30
• 十六进制转换成十进制:v = “0x12”
• 十进制转换成十六进制:v = 87
print(int("0b1111011",2)) print("{:b}".format(18)) print(int("011",8)) print("{:o}".format(30)) print(int("0x12",16)) print("{:x}".format(87)) 123 10010 9 36 18 57
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 False and 1
1 3 0 1 1 0
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式的值{}".format(a)) b = (i % 2 for i in range(10)) for i in b: print("b式的值{}".format(i)) a式的值[0, 1, 0, 1, 0, 1, 0, 1, 0, 1] b式的值0 b式的值1 b式的值0 b式的值1 b式的值0 b式的值1 b式的值0 b式的值1 b式的值0 b式的值1
8.求结果: a. 1 or 2 b. 1 and 2 c. 1 < (2==2) d. 1 < 2 == 2
1
2
False
True
1.请写出与 10 < cost < 50 等价的表达式
cost > 10 and cost<50
2.Python3 中,一行可以书写多个语句吗?
可以,需要用;隔开
Python3 中,一个语句可以分成多行书写吗?
可以,需要用到
3.我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?
n = float(input("请输入一个数:")) print(int(n+0.5))
4.请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or7 and 8 and 9
4
5.爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请编程求解该阶梯至少有多少阶?
l = 0 while True: if (l-1) % 2 == 0 and (l-2) % 3 ==0 and (l-4) % 5 ==0 and (l-5) % 6 == 0 and l % 7 == 0: print(l) break else: l += 7
6.假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
x = 1 y = 2 z = 3 x,y,z = y,z,x print(x,y,z)
7.目测以下程序会打印什么?
while True:
while True:
break
print(1)
print(2)
break
else:
print(3)
2
8.member.append(['竹林小溪', 'Crazy迷恋']) 和member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?
不一样
member = [] member.append(['竹林小溪', 'Crazy迷恋']) print(member)
[['竹林小溪', 'Crazy迷恋']]
member = [] member.extend(['竹林小溪', 'Crazy迷恋']) print(member)
['竹林小溪', 'Crazy迷恋']
9.请问如何将下边这个列表的'小笨蛋'修改为'小坏蛋'?
list1 = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]
list1[1][2] = ['小坏蛋']
10.要对一个列表进行顺序排序,请问使用什么方法?
列表名.sort()
11.要对一个列表进行逆序排序,请问使用什么方法?
列表名.sort(reverse = True)
12.什么情况下你需要使用元组而不是列表?
当元组和列表掉下水,你会救谁?
在序列是不可变的时候
我会救元组,因为列表能添加“救生衣”,
元组不能添加
13.x, y, z = 1, 2, 3 请问x, y, z是元组吗
不是元组
14.编写一个进制转换程序(提示,十进制转换二进制可以用bin()这个BIF):
''' 1.十进制转换别的进制(1.二进制 2.八进制 3.十六进制) 2.二进制转换别的进制(1.八进制 2.十进制 3.十六进制) 3.八进制转换别的进制(1.二进制 2.十进制 3.十六进制) 4.十六进制转换别的进制(1.二进制 2.八进制 3.十进制) ''' n = int(input("请输入你要选择的功能编号")) while True: if n == 1: m = int(input("请输入你要选择的功能编号")) if m ==1: num = int(input("请输入一个数:")) print(bin(num)) break if m ==2: num = int(input("请输入一个数:")) print(oct(num)) break if m ==3: num = int(input("请输入一个数:")) print(hex(num)) break break if n == 2: m = int(input("请输入你要选择的功能编号")) if m ==1: num = input("请输入一个数:") print(oct(int(num,2))) break if m ==2: num = input("请输入一个数:") print(int(num,2)) break if m ==3: num = input("请输入一个数:") print(hex(int(num,2))) break break if n == 3: m = int(input("请输入你要选择的功能编号")) if m ==1: num = input("请输入一个数:") print(bin(int(num,8))) break if m ==2: num = input("请输入一个数:") print(int(num,8)) break if m ==23: num = input("请输入一个数:") print(hex(int(num,8))) break break if n == 4: m = int(input("请输入你要选择的功能编号")) if m ==1: num = input("请输入一个数:") print(bin(int(num,16))) break if m ==2: num = input("请输入一个数:") print(oct(int(num,16))) break if m ==3: num = input("请输入一个数:") print(int(num,16)) break break
15.我们根据列表、元祖和字符串的共同特点,把它们三统称为什么?有什么共性
序列,可以存储多个数据,可以使用运算符in,not in,可以索引,可以切片,可以使用函数len(),max(),min(),.index(),.count()
18.猜字游戏,随机产生10以内的整型数,可供用户猜,如果猜对,打印“厉害了!500万属于你”,如果猜错,如果比随机数大,提示,“大了,再给你一次机会”,如果比随机数小,提示“大胆一点”。用户最多有三次机会
from random import* n = randint(0,10) for i in range(3): m = int(input("请输入一个数")) if m == n: print("厉害了!500万属于你了") elif m > n: print("大了,再给你一次机会") elif m < n: print("大胆一点")
19.盒子里有3个红球,3个蓝色球,4个黄球,现刘柱要从盒子里拿出8个球,问有多少种情况
i = 0 for j in range(1,4): for m in range(1,4): for n in range(1,5): if j+m+n == 8: i += 1 print(i)
20.打印9 9乘法表
for i in range(1,10): for j in range(1,i+1): print("{}*{}={}".format(j,i,i*j),end=" ") print()
21.猴子得到一堆桃,当天吃了一半之后,又多吃了1个。以后每天,猴子都吃了剩余的一半桃子之后,又多吃一个。在第10天,只剩下1个桃子。输出这堆桃最初有多少个。
n = 1 for i in range(9): n = (n+1)*2 print(n)