• python作业(12.10)


     小作业3.5
    5. 尝试实现一个管理系统

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

    d = {'成龙':'467487','周星驰':'5679656'}
    while True:
        n = int(input( '''==============
       1.增加姓名和手机
       2.删除姓名
       3.修改手机
       4.查询所有用户
      5.根据姓名查找手机号
      6.退出
      ============================'''
      '请输入你要使用的功能的序号:'
    ))
        if n == 1:
            a = input('添加联系人:')
            m = input('输入手机号:')
            d[a]=m
            print(d)
        elif n == 2:
            a = input('删除联系人:')
            del d[a]
            print(d)
        elif n == 3:
            a = input('请输入你的姓名:')
            m = int(input('输入更改后的手机号:'))
            d[a] = m
            print(d)
        elif n == 4:
            print(d.keys())
    
        elif n == 5:
            n = input('请输入要查询的姓名:')
            print(d[n])
        elif n == 6:
            print('退出')
            break
        else:
            print('输入不正确!请重试。')
            break
            

    # 小作业4.5
    5. 随机产生密码:

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

    import random
    i = 0
    s = '0123456789abcdefghijklmnopqrstuvwxyz'
    while i < 10:
        s1 = ''
        for x in range(8):
            n = random.choice(s)
            s1 += n
        print('您的密码为:%s'%s1)
        i += 1

    # 小作业5
    1.通过代码实现如下转换

    • 二进制转换成十进制:v = “ b1111011” 

    int('1111011',2) 

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

    s = '{:b}'.format(v) 
    print(s) 

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

    int('011',8) 

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

    s = '{:o}'.format(v) 
    print(s) 

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

     int('0x12',16) 

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

    s = '{:x}'.format(v)
    print(s) 

    3.求结果

    v1 = 1 or 3

     v1 = 1

    v2 = 1 and 3

     v2 = 3

    v3 = 0 and 2 and 1

     v3 = 0

    v4 = 0 and 2 or 1

     v4 = 1

    v5 = 0 and 2 or 1 or 4 

    v5 = 1

    v6 = 0 or Flase and 1 

    v6 = Flase

    7.求结果: a. [ i % 2 for i in range(10) ] 

    a = [0,1,0,1,0,1,0,1,0,1]

    b. ( i % 2 for i in range(10) )

    b.<generator object <genexpr> at 0x000001F2B1671480>

    8.求结果: a. 1 or 2

    a = 1

    b. 1 and 2

     b = 2

    c. 1 < (2==2)

     c = Flase 

    d. 1 < 2 == 2

    d = True

    # 小作业6

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

    2.Python3 中,一行可以书写多个语句吗?Python3 中,一个语句可以分成多行书写吗?
    答:一行可以书写多个语句,用分号分隔开,
    一个语句也可以分成多行书写,用\,或者使用()

    3.我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?
    答:int(0.6+0.5) int(0.4+0.5) 给一个数加上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 = 7
    while True:
        n = n + 7
        if n%2==1 and n%3==2 and n%5==4 and n%6==5:
            break
    print('台阶的阶数为:%d'%n)

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

    7.目测以下程序会打印什么?
    while True:
    while True:
    break
    print(1)
    print(2)
    break
    else:
    print(3)
    答:会打印2

    8.member.append(['竹林小溪', 'Crazy迷恋']) 和member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?
    答:不一样,两个都是将参数追加到末尾,但是append(),只能带一个参数,所以结果会使新加的参数作为一个元素存
    在于列表中,结果是列表新增一个元素,但是extend()相当于是列表拼接,结果是使原来的列表新增两个元素。

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

    list1 = [1, [1, 2,['小笨蛋']],3, 5, 8, 13, 18]
    答:list1[1][2][0] = '小坏蛋'

    10.要对一个列表进行顺序排序,请问使用什么方法?
    答:用sort()默认是从小到大。

    11.要对一个列表进行逆序排序,请问使用什么方法?
    答:用list.sort(reverse = True)或者是先list.sort() 再list.reverse()

    12.什么情况下你需要使用元组而不是列表?当元组和列表掉下水,你会救谁?
    答:当内容不可更改时就使用元组安全性更高,我会救列表,功能强大。

    13.x, y, z = 1, 2, 3 请问x, y, z是元组吗
    答:不是,它们只能是一个整型数,要是想成为列表就需要写成x,有用逗号分隔的就可以看成是元组。

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

    n = int(input('请输入一个数:'))
    
    print('转换为二进制:%s'%'{:b}'.format(n))
    print('转换为八进制:%s'%'{:o}'.format(n))
    print('转换为十六进制:%s'%'{:x}'.format(n))

    15.我们根据列表、元祖和字符串的共同特点,把它们三统称为什么?有什么共性
    答:统称为有序序列,共同点是都以通过索引得到一个元素,默认索引值是从0开始的,可以分片,有很多可以通用的函数。

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

    import random
    n = random.randint(0,10)
    i = 0
    while i < 3:
        m = int(input('请输入你猜测的数:'))
    
        if m == n:
            print('厉害了!500万属于你')
            break
        elif m > n:
            print('大了,大了')
            i += 1
        else:
            print('大胆一点')
            i += 1

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

    sum1 = 0
    for red in range(1,4):
        for blue in range(1,4):
            for yellow in range(2,5):
                if red + blue + yellow == 8:
                    sum1 += 1
                    print('红球有%d,蓝球有%d,黄球有%d'%(red,blue,yellow))
    print('总共有%d种情况'%sum1)

    20.打印9 9乘法表

    for x in range(1,10):
        for y in range(1,x+1):
            print('{}*{}= {}'.format(x,y,x*y) ,end = ' ')
        print()

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

    n = 1
    for i in range(9):
        n = (n + 1)*2
    print(n)
  • 相关阅读:
    47种常见的浏览器兼容性问题大汇总
    201521123029《java程序设计》第2周学习总结
    201521123029《Java程序设计》第1周学习总结
    201521123022 《Java程序设计》 第一周学习总结
    201521123020《java程序设计》第1周学习总结
    Java程序设计第三周学习总结
    201521123021第二周Java学习总结
    201521123021《Java程序设计》第1周学习总结
    201521123017 《Java程序设计》第1周学习总结
    201521123028 《Java程序设计》第2周学习总结
  • 原文地址:https://www.cnblogs.com/song-119/p/10097497.html
Copyright © 2020-2023  润新知