小作业3
5.尝试实现一个管理系统
=======通讯录管理系统=======
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================
小作业4
5.随机产生密码:在26个大小写字母和10个数字组成的列表中,随机生成10个8位密码
importrandom
l=[]for i in range( 10):
l.append( i )for i in range( ord('a') , ord('z') + 1):
l.append( chr(i) )for i in range( ord('A') , ord('Z') + 1):
l.append( chr(i) )
passwds= [ '' , '' , '']for i in range(3):for j in range(8):
passwds[ i ]+=str( l[ random.randrange( len( l ) ) ] )for passwd inpasswds:print( passwd )
小作业5
1.通过代码实现如下转换:
? 二进制转换成十进制:v = “0b1111011”
v = "0b1111011"
print(int(v,2))
? 十进制转换成二进制:v = 18
v = 18
print(bin(v))
? 八进制转换成十进制:v = “011”
v = "011"
print(int("v" , 8 ))
? 十进制转换成八进制:v = 30
v = 30
print(oct(v))
? 十六进制转换成十进制:v = “0x12”
v = "0x12"
print(int("v",16))
? 十进制转换成十六进制:v = 87
v = 87
print(hex(v))
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) )
a.[0,1,0,1,0,1,0,1,0,1]
b. at 0x7fda28eda410>
8.求结果: a. 1 or 2 b. 1 and 2 c. 1 < (2==2) d. 1 < 2 == 2
a.1
b.2
c.False
d.False
小作业6
1.请写出与 10 < cost < 50 等价的表达式
cost<50 and cost>10
2.Python3 中,一行可以书写多个语句吗?
Python3 中,一个语句可以分成多行书写吗?
答:可以书写多个语句,用;链接就行, 可以分成多行,再用\链接就行。
3.我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?
x = float(input('请输入一个数:'))print(int(x + 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阶,最后刚好一阶也不剩。请编程求解该阶梯至少有多少阶?
i = 1
whileTrue:if ( ( i%2 ) == 1 )and( ( i%3 ) == 2 )and( ( i%5 ) == 4 )and( ( i%6 ) == 5 )and( ( i%7 ) ==0 ):print( i )break
else:
i+= 1
6.假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
x , y , z = z , x , y
7.目测以下程序会打印什么?
while True:
while True:
break
print(1)
print(2)
break
else:
print(3)
答:程序从上至下依次逐行运行,当到了第一个break的时候,会跳出当前的小循环,所以不输出1从而输出2,当输出2完毕时候又遇到了第二个break,又会跳出大循环,而3在大循环里,且大循环是True无限循环,所以也不输出3。
8.member.append(['竹林小溪', 'Crazy迷恋']) 和member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?
不一样,前者的意思是让整个['竹林小溪', 'Crazy迷恋']以一个列表的状态为元素加入到member,而后者的意识是将['竹林小溪', 'Crazy迷恋']作为一个一个的元素分别加入到member中。
9.请问如何将下边这个列表的'小笨蛋'修改为'小坏蛋'?
list1 = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]l = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]
l = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]
l[1][2]= ['小坏蛋']
print(l)
10.要对一个列表进行顺序排序,请问使用什么方法?
n.sort()
11.要对一个列表进行逆序排序,请问使用什么方法?
n.sort(reverse = True)
12.什么情况下你需要使用元组而不是列表?
当元组和列表掉下水,你会救谁?
当序列的数据不能修改或者不需要修改时,使用元组。我会救元组.....因为列表能修改,列表能自救.....
13.x, y, z = 1, 2, 3 请问x, y,z是元组吗?
不是
14.编写一个进制转换程序(提示,十进制转换二进制可以用bin()这个BIF):
15.我们根据列表、元祖和字符串的共同特点,把它们三统称为什么?有什么共性
统称为非数字型有序序列
共性是 都可以存储数据 都可以进行 数据的索引 切片
18.猜字游戏,随机产生10以内的整型数,可供用户猜,如果猜对,打印“厉害了!500万属于你”,如果猜错,如果比随机数大,提示,“大了,再给你一次机会”,如果比随机数小,提示“大胆一点”。用户最多有三次机会
importrandomprint('这是个猜字游戏,加油呢!')
a= random.randrange(0,10)for i in range(3):
b= int(input('请输入你猜的数:'))if a ==b:print('厉害了!500万属于你')break
elif b >a:print('大了,再给你一次机会')continue
elif b
19.盒子里有3个红球,3个蓝色球,4个黄球,现刘柱要从盒子里拿出8个球,问有多少种情况
count =0for r in range(4):for b in range(4):for y in range(5):if (r + b + y) == 8:
count+= 1
print("红色球有%d个,蓝色球有%d个,黄色球有%d个" %(r,b,y))print("一共有%d种情况" %count)
20.打印9 9乘法表
for x in range(1,10):for y in range(1,x+1):print('{}*{}={}\t'.format(x,y,x*y),end=' ')print()
21.猴子得到一堆桃,当天吃了一半之后,又多吃了1个。以后每天,猴子都吃了剩余的一半桃子之后,又多吃一个。在第10天,只剩下1个桃子。输出这堆桃最初有多少个。
count = 1
for i in range(10):
count= (count + 1)*2
print('这堆桃最初有%d 个'% count)