1210作业

小作业3

5. 尝试实现一个管理系统

=======通讯录管理系统=======
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================

print('{:=^21}'.format('通讯录管理系统'))
print('1.增加姓名和手机')
print('2.删除姓名')
print('3.修改手机')
print('4.查询所有用户')
print('5.根据姓名查找手机号')
print('6.退出')
print('============================')
d={}
while True:
    n=int(input('请输入功能序号:')
    if n==1:
        name=input('请输入姓名:')
        number=int(input('请输入手机号码:'))
           d[name] = number
           print(d)
           break
    elif n==2:
        d.pop(name)
           print(d)
           break
       elif n == 3:
           name = input("姓名")
           number = int(input("手机号:"))
           d[name] = number
          print(d)
           break
        elif n == 4:
           print(d.keys())
           break
        elif n ==5:
           name = input("姓名")
           print(d[name])
           break
        elif n ==6:
           break

小作业4

5. 随机产生密码:
在26个大小写字母和10个数字组成的列表中,随机生成10个8位密码

import random,string
src = string.ascii_letters + string.digits#密码取值是字母和数字
l = []#生存列表
for i in range(10):#生成10条
    l1 = random.sample(src, 8) #从字母和数字中随机取8位   
    random.shuffle(l1) #打乱列表顺序
    sd = ''.join(l1) #将列表转化为字符串
    if sd not in l: #判断是否生成重复密码
        l.append(sd)
print(l)

小作业5


1.通过代码实现如下转换:
• 二进制转换成十进制:v = “0b1111011”

• 十进制转换成二进制:v = 18

• 八进制转换成十进制:v = “011”

• 十进制转换成八进制:v = 30

• 十六进制转换成十进制:v = 0x12

• 十进制转换成十六进制:v = 87

print('0b1111011二进制转换成十进制{}'.format(int("0b1111011",2))#123
print('18十进制转换成二进制{:b}'.format(18))#10010
print('011八进制转换成十进制{}'.format(int("011",8)))#9
print('30十进制转换成八进制{:o}'.format(30))#36
print('0x12十六进制转换成十进制{}'.format(int('0x12',16)))#18
print('87十进制转换成十六进制{:x}'.format(87))#57

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 False and 1#False
print(v1,v2,v3,v4,v5,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)#[0, 1, 0, 1, 0, 1, 0, 1, 0, 1]

b=( i % 2 for i in range(10))
for i in b:
    print(i)
'''
0
1
0
1
0
1
0
1
0
1
'''

8.求结果: a. 1 or 2 b. 1 and 2 c. 1 < (2==2) d. 1 < 2 == 2

a=1 or 2 #1
b=1 and 2 #2
c=1 < (2==2)#False 
d=1 < 2 == 2#True
print(a,b,c,d)

小作业6

1.请写出与 10 < cost < 50 等价的表达式

10<cost 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阶,最后刚好一阶也不剩。请编程求解该阶梯至少有多少阶?

n=0
while True:
    if (n-1)%2==0 and (n-2)%3==0 and (n-4)%5==0 and (n-5)%6==0 and n%7==0 :
        print(n)
        break
    else:
        n+=7
#119

6.假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?

x=1
y=2
z=3
y,z,x=x,y,z
print(x,y,z)
#3,1,2

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迷恋']] member1=[] member1.extend(['竹林小溪', 'Crazy迷恋']) print(member1)
#['竹林小溪', 'Crazy迷恋']

9.请问如何将下边这个列表的'小笨蛋'修改为'小坏蛋'?
  list1 = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]

list1 = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]
list1[1][2]=['小坏蛋']
print(list1)
#[1, [1, 2, ['小坏蛋']], 3, 5, 8, 13, 18]

 

10.要对一个列表进行顺序排序,请问使用什么方法?#列表名称.sort()
  
11.要对一个列表进行逆序排序,请问使用什么方法?#列表名称.sort(reverse=True)

12.什么情况下你需要使用元组而不是列表?#在序列不可变的时候用元组。
  当元组和列表掉下水,你会救谁?#救元组,因为列表可以添加"救生衣,救生圈"

13.x, y, z = 1, 2, 3 请问x, y, z是元组吗?#不是

14.编写一个进制转换程序(提示,十进制转换二进制可以用bin()这个BIF)

l=['二进制转八进制功能号为1','二进制转十进制功能号为2','二进制转十六进制功能号为3']
print(l)
print()
l1=['八进制转二进制功能号为4','八进制转十进制功能号为5','八进制转十六进制功能号为6']
print(l1)
print()
l2=['十进制转二进制功能号为7','十进制转八进制功能号为8','十进制转十六进制功能号为9']
print(l2)
print()
l3=['十六进制转二进制功能号为10','十六进制转八进制功能号为11','十六进制转十进制功能号为12']
print(l3)
n= int(input('输入进制转换功能号:'))
m=input('输入需要转换的数:')
while True:
    if n==1:
        print('{}将二进制转八进制为{:o}'.format(m,int(m,2)))
        break
    elif n==2:
        print('{}将二进制转十进制为{}'.format(m,int(m,2)))
        break
    elif n==3:
        print('{}将二进制转十六进制为{:x}'.format(m,int(m,2)))
        break
    elif n==4:
        print('{}将八进制转二进制为{:b}'.format(m,int(m,8)))
        break
    elif n==5:
        print('{}将八进制转十进制为{}'.format(m,int(m,8)))
        break
    elif n==6:
        print('{}将八进制转十六进制为{:x}'.format(m,int(m,8)))
        break
    elif n==7:
        print('{}将十进制转二进制为{:b}'.format(m,m))
        break
    elif n==8:
        print('{}将十进制转八进制为{:o}'.format(m,m))
        break
    elif n==9:
        print('{}将十进制转十六进制为{:x}'.format(m,m))
        break
    elif n==10:
        print('{}将十六进制二转进制为{:b}'.format(m,int(m,16)))
        break
    elif n==11:
        print('{}将十六进制转八进制为{:o}'.format(m,int(m,16)))
        break
    elif n==12:
        print('{}将十六进制转十进制为{}'.format(m,int(m,16)))
        break

15.我们根据列表、元祖和字符串的共同特点,把它们三统称为什么?有什么共性

#统称为序列,可储存多个数据,可以使用运算符in,not in,可以索引,可以切片,可以使用函数len(),max(),min(),.index(),.count()

18.猜字游戏,随机产生10以内的整型数,可供用户猜,如果猜对,打印“厉害了!500万属于你”,如果猜错,如果比随机数大,提示,“大了,再给你一次机会”,如果比随机数小,提示“大胆一点”。用户最多有三次机会

import random
a=random.randint(1,11)
for i in range(3):
    n=int(input('请输入您猜的数:'))
    if a==n:
        print('厉害了!500万属于你')
        break
    elif a<n:
        print('大了,再给你一次机会')
    elif a>n:
        print('大胆一点')

19.盒子里有3个红球,3个蓝色球,4个黄球,现刘柱要从盒子里拿出8个球,问有多少种情况

n=0
for i in range(1,4):
    for j in range(1,4):
        for k in range(1,5):
            if i+j+k==8:
                n+=1
print(n)

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)

 

posted @ 2018-12-10 20:11  繁星十月  阅读(228)  评论(0编辑  收藏  举报