python201811210作业4

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

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

5. 随机产生密码:

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


1.通过代码实现如下转换:

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

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

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

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

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

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

    #二进制转换十进制
    v = '0b1111011'
    print(int(v,2))
    #十进制转换二进制
    v = 18
    print(bin(v))
    #八进制转换十进制
    v = '011'
    print(int(v,8))
    #十进制转换八进制
    v = 30
    print(oct(v))
    #十六进制转换十进制
    v = '0x12'
    print(int(v,16))
    #十进制转换十六进制
    v = 87
    print(hex(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
    v2 = 3
    v3 = 0
    v4 = 1
    v5 = False


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    结果是生成器,用以下代码打印元素
            b = ( i % 2 for i in range(10) )
            for i in b:
                print(i,end= '')
            print()


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

    a    1
    b    2
    c    False
    d    True


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

    10 < cost and cost < 50


2.Python3 中,一行可以书写多个语句吗?
   Python3 中,一个语句可以分成多行书写吗?

    一行只能一个语句,一个语句可以多行书写,用 “\”换行  


3.我们人类思维是习惯于“四舍五入”法,你有什么办法使得 int() 按照“四舍五入”的方式取整吗?

    n = int(i + 0.5)
    print(n)


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
while i<1000:
    i+=1
    if (i%2==1) and (i%3==2) and (i%5==4) and (i%6==5) and (i%7==0):
        print(i)

答:至少119个台阶


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

    n = x
    x = y
    y = z
    z = n



 7.目测以下程序会打印什么?

   while True:

        while True:

            break

            print(1)

        print(2)

        break

   else:

        print(3)

答:打印结果为2

8.member.append(['竹林小溪', 'Crazy迷恋']) 和member.extend(['竹林小溪', 'Crazy迷恋']) 实现的效果一样吗?

实现效果不一样
    member = [1,2,3]
    member.append(['竹林小溪','Crazy迷恋'])
    print(member)
结果为[1, 2, 3, ['竹林小溪', 'Crazy迷恋']]

    member = [1,2,3]
    member.extend(['竹林小溪','Crazy迷恋'])
    print(member)
结果为[1, 2, 3, '竹林小溪', '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)



10.要对一个列表进行顺序排序,请问使用什么方法?

    ls.sort()

11.要对一个列表进行逆序排序,请问使用什么方法?

    l.sort(reverse=True)


12.什么情况下你需要使用元组而不是列表?
  当元组和列表掉下水,你会救谁?

答:当储存不可变的值时用元组,救列表


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

答:不是元组


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

答:统称序列,都可以索引和切片


16.请问这个函数有多少个参数?

def MyFun((x,y), (a, b)):

      return x * y - a * b

答:2个参数


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

    n = 0
    for r in range(1,4):
        for b in range(1,4):
            for y in range(1,5):
                if r + b + y == 8:
                    n += 1
    print("共有{}种情况".format(n))


20.打印9 9乘法表

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


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

    n = 1
    for i in range(10):
        n = (n + 1) * 2
    print('这堆桃子最初有{}个'.format(n))

  

posted @ 2018-12-10 21:11  wk326  阅读(235)  评论(0编辑  收藏  举报