1208
. 尝试实现一个管理系统
=======通讯录管理系统=======
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================
d={"范鹏远":"15233863313","任海":"15033887683"} while True: n=int(input(""" 1.增加姓名和手机 2.删除姓名 3.修改手机 4.查询所有用户 5.根据姓名查找手机号 6.退出 请输入一个选项:""")) if n==1: name=input("输入姓名:") phone=input("输入手机号:") d[name]=phone print(d) elif n==2: key=input("输入删除的姓名:") del d [key] elif n==3: name=input("输入姓名:") phone=input("输入手机号:") d[name]=phone print(d) elif n==4: print(d.keys()) elif n==5: name=input("请输入查找的姓名:") print(d[name]) else: break
随机产生密码:
在26个大小写字母和10个数字组成的列表中,随机生成10个8位密码
import random
s=[]
for i in range(65,91):
s.append(chr(i))
for i in range(0,10):
s.append(i)
for i in range(97,122):
s.append(chr(i))
print(s)
'''print(s)
random.choice(s)
print(s)
random.shuffle(s)#随机打乱列表s
print(s)
'''
list1=[]
for i in range(10):
list1=random.sample(s,8)
password=""
for j in list1:
password+=str(j)
print(password)
1.通过代码实现如下转换:
• 二进制转换成十进制:v = “0b1111011”
• 十进制转换成二进制:v = 18
• 八进制转换成十进制:v = “011”
• 十进制转换成八进制:v = 30
• 十六进制转换成十进制:v = “0x12”
• 十进制转换成十六进制:v = 87
s=input("输入二进制数转换为十进制:") print(int(s,2)) s=input("输入八进制数转换为十进制:") print(int(s,8)) s= input("输入十六进制数字转换为十进制:") print(int(s,16)) s=int(input("输入十进制数字转换为二进制数:")) print(bin(s)) s=int(input("输入十进制数字转换为八进制数:")) print(oct(s)) s=int(input("输入十进制数字转换为十六进制数:")) print(hex(s))
3.求结果
v1 = 1 or 3
1
v2 = 1 and 3
3
v3 = 0 and 2 and 1
0
v4 = 0 and 2 or 1
1
v5 = 0 and 2 or 1 or 4
1
v6 = 0 or Flase and 1
Flase
7.求结果: a. [ i % 2 for i in range(10) ] b. ( i % 2 for i in range(10) )
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
<generator object <genexpr> at 0x0000000002F5FCF0>
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)) n+=0.5 print(int(n))
4.请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
4
5.爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请编程求解该阶梯至少有多少阶?
i=0 while True: i+=1 if i % 2 ==1 and i % 3 ==2 and i % 5 ==4 and i % 6 ==5 and i % 7 ==0: print(i) break
6.假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
x,y=y,x
x,z=z,x
y,z=z,y
7.目测以下程序会打印什么?
while True:
while True:
break
print(1)
print(2)
break
else:
print(3)
输出2
8.member.append(['竹林小溪', 'Crazy迷恋']) 和member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?
不一样,append 把内容整体追加进去列表中添加新的子列表,erextend是把列表中的元素单独添加到列表当中。
9.请问如何将下边这个列表的'小笨蛋'修改为'小坏蛋'?
list1 = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]
list1 = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18] list1[1][2]='小坏蛋' print(list1)
10.要对一个列表进行顺序排序,请问使用什么方法?
list1=[9,8,10,88,50,1,99] list1.sort() print(list1)
11.要对一个列表进行逆序排序,请问使用什么方法?
import random list1=[9,8,10,88,50,1,99] list2=[] list1.sort() print(list1) list2=sorted(list1,reverse=True) print(list2)
12.什么情况下你需要使用元组而不是列表?
在用到不可变的时候用元组不用列表
当元组和列表掉下水,你会救谁?
救列表,因为元组在python中序列不可变。相对于元组的列表则比较灵活可变,可以进行增删改查等操作。
13.x, y, z = 1, 2, 3 请问x, y, z是元组吗
不是,元组的序列不可改变,而x,y,z=1,2,3则是进行赋值。
14.编写一个进制转换程序(提示,十进制转换二进制可以用bin()这个BIF):
s=input("输入一个进制数:") a=int(input("您输入的是几进制的数:"))#2,8,10,16 n=int(input("请问一下您需要转换的进制:"))#2,8,10,16 if a==2: if n==8: print(oct(int(s,2))) elif n==10: print(int(s,2)) elif n==16: print(hex(int(s,2))) elif a==8: if n==2: print(bin(int(s,8))) elif n==10: print(int(s,8)) elif n==16: print(hex(int(s,8))) elif a==10: if n==2: print(int(bin(s))) elif n==8: print(int(oct(s))) elif n==16: print(int(hex(s))) elif a==16: if n==2: print(bin(int(s,16))) elif n==8: print(oct(int(s,16))) elif n==10: print(int(s,16))
15.我们根据列表、元祖和字符串的共同特点,把它们三统称为什么?有什么共性
列表和元组和字符串我们统称为序列,共性是可以进行索引,切片,相加,相乘,in not in(成员运算)
18.猜字游戏,随机产生10以内的整型数,可供用户猜,如果猜对,打印“厉害了!500万属于你”,如果猜错,如果比随机数大,提示,“大了,再给你一次机会”,如果比随机数小,提示“大胆一点”。用户最多有三次机会
import random a=random.randint(0,11) for i in range(3): b=int(input("输入您猜的数字1到10:")) if a==b: print("厉害了!500万属于你") break else: if i==2: print("一共三次机会,gameove") elif a<b: print("大了") else: print("小了")
19.盒子里有3个红球,3个蓝色球,4个黄球,现刘柱要从盒子里拿出8个球,问有多少种情况
sum=0 for red in range(1,5): for blue in range(1,4): for yellow in range(1,4): if red+blue+yellow==8: sum+=1 print(sum)
20.打印9 9乘法表
for i in range(1,10): for j in range(1,i+1): print('{}*{}={:<5}'.format(i,j,i*j),end= "") print()
21.猴子得到一堆桃,当天吃了一半之后,又多吃了1个。以后每天,猴子都吃了剩余的一半桃子之后,又多吃一个。在第10天,只剩下。输出这堆桃最初有多少个。
sum=1 for i in range(9): sum=(1+sum)*2 print(sum)