12.8作业

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

print('{:=^20}'.format('通讯录管理系统'))
d1 = dict(name='张三',num=111)
d1.update(name1='李四',num1=222)
d1.update(name2='李五',num2=333)
a = '增加姓名和手机'
b = '删除姓名'
c = '修改手机'
d = '查询所有用户'
e = '根据姓名查找手机号'
f = '退出'
s = str(input("请输入你的需求:"))
if s  == a:
    l =str(input('请输入您要增加的姓名:'))
    m =int(input('请输入您要增加的手机号:'))
    d1['name3']=l
    d1['num3']=m
elif s != a:
    print("请输入正确的格式")
else:
    print('jieshu')
print(d1)

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

import random
a ='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
l = []
for i in a:
    l.append(i)
for x in range(10):
    m=''
    for j in range(8):
        s = random.choice(l)
        m+=s
    print('您的密码组成是:{}'.format(m)) '''

3.进制转换

v1 = "1111011"
s1 = int(v1,2)#二转十
print(s1)

v2 = 18
s2 = bin(v2)#十转二
print(s2)

v3 = '011'
s3 =int(v3,8)#八转十
print(s3)

v4 = '30'
s4 = oct(int(v4,10))#十转八
print(s4)

v5 = '12'
s5 = int(v5,16)#十六转十
print(s5)

v6='87'
s6 = hex(int(v6,10))#十转十六
print(s6)

4.有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;
若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请编程求解该阶梯至少有多少阶?

bsum = 0
while True:
    bsum+=1
    if bsum % 2 == 1 and bsum % 3 == 2 and bsum % 5 == 4 and bsum % 6 == 5 and bsum %7 ==0:
        print(bsum)
        break

5.请问如何将下边这个列表的'小笨蛋'修改为'小坏蛋'?

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

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

a = input('请输入你要转换的数的进制:')
b = input('请输入一个数:')
c = input('请问要转换成什么进制的数:')
d = 0
if a == '十进制' and c == '二进制':
    d = bin(int(b,10))
    print('这是转换后的数:{}'.format(d))
elif a== '十进制' and c ==' 八进制':
    d = oct(int(b,10))
    print('这是转换后的数:{}'.format(d))
elif a =='十进制' and c =='十六进制':
    d = hex(int(b,10))
    print('这是转换后的数:{}'.format(d))
elif a == '二进制' and c =='十进制':
    d = int(b,2)
    print('这是转换后的数:{}'.format(d))
elif a == '二进制' and c == '八进制':
    d = oct(int(b,2))
    print('这是转换后的数:{}'.format(d))
elif a == '二进制' and c== '十六进制':
    d = hex(int(b,2))
    print('这是转换后的数:{}'.format(d))
elif a == '八进制' and c =='二进制':
    d = bin(int(b,8))
    print('这是转换后的数:{}'.format(d))
elif a == '八进制' and c =='十进制':
    d = int(b,8)
    print('这是转换后的数:{}'.format(d))
elif a == '八进制' and c == '十六进制':
    d = hex(int(b,8))
    print('这是转换后的数:{}'.format(d))
elif a == '十六进制' and c == '二进制':
    d = bin(int(b,16))
    print('这是转换后的数:{}'.format(d))
elif a == '十六进制' and c == '八进制':
    d = oct(int(b,16))
    print('这是转换后的数:{}'.format(d))
elif a == '十六进制' and c == '十进制':
    d = int(b,16)
    print('这是转换后的数:{}'.format(d))
else:
    print('请输入正确的格式')

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

import random
print('{:*^20}'.format('猜字游戏'))
a = random.randint(0,10)
for i in range(3):
    b = int(input("请输入一个十以内的数,你有三次机会:"))
    if b > a:
        print('猜大了')
    elif b < a:
        print('猜小了')
    else:
        print('太厉害你猜对了')
        break

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

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

9.打印9 9乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print("%d*%d=%2d" % (i,j,i*j),end="  ")
    print("")

10.猴子得到一堆桃,当天吃了一半之后,又多吃了1个。以后每天,猴子都吃了剩余的一半桃子之后,又多吃一个,在第10天,只剩下1个桃子。输出这堆桃最初有多少个。

sum = 1
for i in range(9):
    sum = (sum+1)*2
print(sum)



猜你喜欢

转载自www.cnblogs.com/nandu/p/10095632.html