• python作业04


    . 尝试实现一个管理系统

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

    sea:
    name = []
    tel = []
    while True:
          print('==通讯录管理系统==')
          print('1.增加姓名和手机')
          print('2.删除姓名')
          print('3.修改手机')
          print('4.查询所有用户')
          print('5.根据姓名查找手机号')
          print('6.退出')
          a = int(input('请输入你的选项:'))
    sea:
     if a == 1:
              print('增加姓名和手机号')
              b = input('请输入姓名')
              name.append(b)
              c = input('请输入手机号')
              tel.append(c)
          if a == 2:
              print('删除姓名')
              b = input('请输入姓名')
              name.remove(b)
              c = name.index(b)
              tel.pop(c)
          if a == 3:
              print('修改手机')
              b = input('请输入你需要修改的手机号的姓名')
              c = name.index(b)
              b = input('请输入修改后的手机号')
              tel[c]=b
          if a == 4:
              print('查询所有用户')
              for i in name:
                  print (i)
      
          if a == 5:
      
              b = input('请输入姓名')
              c = name.index(b)
              print(tel[c])
          if a == 6:
              print('退出')
              break

    随机产生密码:

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

    import random
    desk = []
    for i in range(ord('a'),ord('z')+1):
        desk.append(chr(i))
    for j in range(ord('A'),ord('Z')+1):
        desk.append(chr(j))
    for k in range(10):
        desk.append(str(k))
    #print(desk)
    for a in range (10):
        password=[]
        for i in range(8):
            strs = random.choice(desk)
            password += strs
        print(password) 

    通过代码实现如下转换:

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

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

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

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

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

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

    s=input("输入二进制数转换为十进制:")
    print(int(s,2))
    
    s=input("输入八进制数转换为十进制:")
    print(int(s,8))
    
    s= input("输入十六进制数字转换为十进制:")
    print(int(s,16))
    
    s=int(input("输入十进制数字转换为二进制数:"))
    print(bin(s))
    
    s=int(input("输入十进制数字转换为八进制数:"))
    print(oct(s))
    
    s=int(input("输入十进制数字转换为十六进制数:"))
    print(hex(s))

    求结果

    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 Flase and 1

    Flase

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

    [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]

    <generator object <genexpr> at 0x0000000002F5FCF0>

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

    1

    2

    False

    True

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

    cost > 10 and cost<50

    Python3 中,一行可以书写多个语句吗?

    可以

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

    可以

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

    n=float((input("输入一个数:")))
    print(int(n))
    n+=0.5
    print(int(n))

    请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9

    4

    爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请编程求解该阶梯至少有多少阶?

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

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

    x,y=y,x

    x,z=z,x

    y,z=z,y

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

       while True:

            while True:

                break

                print(1)

            print(2)

            break

       else:

            print(3)

    输出2

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

     不一样,append 把内容整体追加进去列表中添加新的子列表,erextend是把列表中的元素单独添加到列表当中。

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

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

    list1=[9,8,10,88,50,1,99]
    list1.sort()
    print(list1)

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

    import random
    list1=[9,8,10,88,50,1,99]
    list2=[]
    list1.sort()
    print(list1)
    list2=sorted(list1,reverse=True)
    
    print(list2)

    什么情况下你需要使用元组而不是列表?

    在用到不可变的时候用元组不用列表
      当元组和列表掉下水,你会救谁?

    救列表,因为元组在python中序列不可变。相对于元组的列表则比较灵活可变,可以进行增删改查等操作。

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

     不是,元组的序列不可改变,而x,y,z=1,2,3则是进行赋值。

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

    s=input("输入一个进制数:")
    a=int(input("您输入的是几进制的数:"))#2,8,10,16
    n=int(input("请问一下您需要转换的进制:"))#2,8,10,16
    if a==2:
        if n==8:
            print(oct(int(s,2)))
        elif n==10:
            print(int(s,2))
        elif n==16:
            print(hex(int(s,2)))
    elif a==8:
        if n==2:
            print(bin(int(s,8)))
        elif n==10:
            print(int(s,8))
        elif n==16:
            print(hex(int(s,8)))
    elif a==10:
        if n==2:
            print(int(bin(s)))
        elif n==8:
            print(int(oct(s)))
        elif n==16:
            print(int(hex(s)))
    elif a==16:
        if n==2:
            print(bin(int(s,16)))
        elif n==8:
            print(oct(int(s,16)))
        elif n==10:
            print(int(s,16))

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

    列表和元组和字符串我们统称为序列,共性是可以进行索引,切片,相加,相乘,in not in(成员运算)

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

    import random
    a=random.randint(0,11)
    for i in range(3):
        b=int(input("输入您猜的数字1到10:")) 
        if a==b:
            print("厉害了!500万属于你")
            break
        else:
            if i==2:
                print("一共三次机会,gameove")
            elif a<b:
                print("大了,再给你一次机会")
            else:
                 print("小了,大胆一点")

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

    sum=0
    for red in range(1,5):
        for blue in range(1,4):
            for yellow in range(1,4):
                if red+blue+yellow==8:
                    sum+=1
    print(sum)

    打印9 9乘法表

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

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

    sum=1
    for i in range(9):
        sum=(1+sum)*2
    print(sum)
  • 相关阅读:
    Unity3d之UGUI- Image拦截Button响应事件
    hdu1114Piggy-Bank(完全背包)
    cf455A boredom
    hdu2084数塔(入门级dp)
    小米线刷出现remote: partition table doesn't exist
    km算法
    hdu1069 Girls and Boys
    CF1203C Common Divisors
    魔法部落
    java命令行运行出现找不到或无法加载类
  • 原文地址:https://www.cnblogs.com/sunjiawei/p/10095308.html
Copyright © 2020-2023  润新知