zoukankan      html  css  js  c++  java
  • 20181210作业

    作业3
    5尝试实现一个管理系统
    =======通讯录管理系统=======
    1.增加姓名和手机
    2.删除姓名
    3.修改手机
    4.查询所有用户
    5.根据姓名查找手机号
    6.退出
    ============================
    print('''
        =======通讯录管理系统=======
        1.增加姓名和手机
        2.删除姓名
        3.修改手机
        4.查询所有用户
        5.根据姓名查找手机号
        6.退出
        ============================
        ''')
    dic={'':111,'':222,'':333}
    while True:
        ls=[1,2,3,4,5,6]
        z=eval(input("请输入你想要实现的功能:"))
        if z==ls[5]:
            print("谢谢使用")
            break
        elif z==ls[0]:
            x=input("输入姓名:")
            y=input("输入手机号:")
            dic[x]=y
            print(dic)
            continue
        elif z==ls[1]:
            a=input("输入姓名:")
            if a in dic:
                dic.pop(a)
                print("删除成功")
            else:
                print("查无此人!!!")
            continue
        elif z==ls[2]:
            b=input("输入想要修改联系人:")
            if b in dic:
                c=input("输入新号")
                dic[b]=c
                print("修改完毕")
                print(dic)
                continue
            else:
                print("输入无效")
                print("请重新输入:")
                continue
        elif z==ls[3]:
            for i in dic.items():
                print(i)
            continue
        elif z==ls[4]:
            d=input("输入要查找的姓名:")
            if d in dic:
                print('{}的手机号是:{}'.format(d,dic.get(d)))
                continue

    作业4
    5. 随机产生密码:
    在26个大小写字母和10个数字组成的列表中,随机生成10个8位密码
    import random
    ls=[]
    for i in range(10):
        ls.append(i)
    for i in range(26):
        ls.append(chr(65+i))
    for i in range(26):
        ls.append(chr(97+i))
    print(ls)
    lt=[]
    for i in range (10):
        for i in range(8):
            lt.append(random.choice(ls))
            continue
        s=""
        lp=[]
        for i in range(8):
            a=lt[i]
            s+=str(a)
        print(s)
        lt=[]
    作业5
    1.通过代码实现如下转换:
    ? 二进制转换成十进制:v = “0b1111011”
    ? 十进制转换成二进制:v = 18
    ? 八进制转换成十进制:v = “011”
    ? 十进制转换成八进制:v = 30
    ? 十六进制转换成十进制:v = “0x12”
    ? 十进制转换成十六进制:v = 87
    v=0b1111011
    print ("0b1111011的十进制是{}".format(v))
    v=18
    print ("{}的二进制是{:b}".format(v,v))
    v=0o011
    print ("011的十进制是{}".format(int(v)))
    v=30
    print ("{}的八进制是{:o}".format(v,v))
    v=0x12
    print ("0x12的十进制是{}".format(int(v)))
    v=87
    print ("{}的十六进制是{:x}".format(v,v))
    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 Flase and 1
    v1 = 1 or 3
    print("1 or 3的值为--->",v1)
    v2 = 1 and 3
    print("1 and 3的值为--->",v2)
    v3 = 0 and 2 and 1
    print("0 and 2 and 1的值为--->",v3)
    v4 = 0 and 2 or 1
    print("0 and 2 or 1的值为--->",v4)
    v5 = 0 and 2 or 1 or 4
    print("0 and 2 or 1 or 4的值为--->",v5)
    v6 = 0 or False and 1
    print("0 or Flase and 1的值为--->",v6)
    7.求结果: a. [ i % 2 for i in range(10) ] b. ( i % 2 for i in range(10) )
    ls=[i%2 for i in range(10)]
    print(ls)
    lt=(i%2 for i in range(10))
    print(lt)
    print("可以节约内存空间")
    8.求结果: a. 1 or 2 b. 1 and 2 c. 1 < (2==2) d. 1 < 2 == 2
    a=1 or 2
    print("1 or 2的值为",a)
    b=1 and 2
    print("1 and 2的值为",b)
    c=1 < (2==2)
    print("1<(2==2)的值为",c)
    d=1 < 2 == 2
    print("1<2 == 2的值为",a)
    作业6
    1.请写出与 10 < cost < 50 等价的表达式
    cost>10 and cost<50
    2.Python3 中,一行可以书写多个语句吗?------->不可以
    Python3 中,一个语句可以分成多行书写吗?--------> 可以,用“”分隔表示
    3.我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?
    a=eval(input("输入个数"))
    b=int(a+0.5)
    print('{} 四舍五入后是 {}'.format(a,b))
    print()
    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阶,最后刚好一阶也不剩。
    请编程求解该阶梯至少有多少阶?
    a=7
    while a % 7 == 0:
        if a%2==1 and a%3==2 and a%5==4 and a%7==0:
                print("答:至少有{}阶".format(a))
                a += 1
        else:
                a += 7
    6.假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
    x,y=y,x
    y,z=z,y
     7.目测以下程序会打印什么?
       while True:
            while True:
                break
                print(1)
            print(2)
            break
       else:
            print(3)
    答:根据程序可知,1 在进入第二个while循环就被强制退出了。
    第二次循环后打印 2 ,打印完之后,直接退出循环,3 没有打印的可能
    所以结果为 2 。
    8.member.append(['竹林小溪', 'Crazy迷恋']) 和member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?
    答:实现的效果一样,但append和extend是有差别的
    append 是将内容添加到列表的末尾,而添加的内容只能是列表形式
    extend 是对列表的扩容,它的后面可以是其他格式
    9.请问如何将下边这个列表的'小笨蛋'修改为'小坏蛋'?
      list1 = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]
     list1[1][2]="小坏蛋"
    10.要对一个列表进行顺序排序,请问使用什么方法?
      list.sort函数序列表进行顺序排序
    11.要对一个列表进行逆序排序,请问使用什么方法?
     list.sort函数,参数reverse=True,可以逆序排序
    可利用切片的方式:list[::-1]
    12.什么情况下你需要使用元组而不是列表?
      当元组和列表掉下水,你会救谁?
    当定义一个值的常量集,并且唯一要用它做的是不断地遍历它,使用 tuple 代替 list。
    列表
    13.x, y, z = 1, 2, 3 请问x, y, z是元组吗
     不是,是3个变量x,y,z
    14.编写一个进制转换程序(提示,十进制转换二进制可以用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('请输入正确的格式')

     

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

    统称为序列。

    共同特点:

    1)都可以通过索引得到每一个值,默认索引值总是从0开始

    2)可以通过切片的方法可以得到其中想要的值

    3)有共同的操作符,如:拼接,in函数,求取长度,取出最大最小值,索引号和成员出现次数。

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

    import random
    a=random.randint(0,9)
    for i in range(3):
        b=int(input("请输入要猜的数(0—9)"))
        if a==b:
            print("厉害了!500万属于你")
            break
        elif a>b:
            print("大胆一点")
            continue
        else:
            if i<2:
                print("大了,再给你一次机会")
            if i==2:
                print("错误")
                print("您没有机会了,游戏结束")
                

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

    sum=0
    for a in range(1,5):
        for b in range(1,4):
            for c in range(1,4):
                if a+b+c==8:
                    sum+=1
    print("一共有{}种方法".format(sum))

    20.打印9 9乘法表

    sum=0
    for i in range (1,10):
        for j in range (1,i+1):
            sum=i*j    
            print('{}*{}={:<2}'.format(i,j,sum), end=" ")
        print()

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

    sum=1
    for i in range(10,1,-1):
        sum=(1+sum)*2
    print("一共有{}桃".format(sum))
  • 相关阅读:
    drawcall优化
    Java基础:动态代理在RPC框架中应用
    ACdream ACfun
    图片压缩之处理小图片压缩策略
    ASP内置对象—Request、Response 、Server、Application 、ObjectContent(一)
    alter
    UltraISO制作U盘启动盘安装Win7/8/10系统攻略
    Libcurl的初步实现tfp上传下载功能
    微信企业号开发:获取AccessToken
    Ubuntu 安装OpenGL
  • 原文地址:https://www.cnblogs.com/ljf5201314/p/10090561.html
Copyright © 2011-2022 走看看