zoukankan      html  css  js  c++  java
  • 假期作业python

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

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

      1 dic = {}
      2 while True:
      3     print('=======通讯录管理系统=======')
      4     print('1.增加姓名和手机')
      5     print('2.删除姓名')
      6     print('3.修改手机')
      7     print('4.查询所有用户')
      8     print('5.根据姓名查找手机号')
      9     print('6.退出')
     10     print('============================')
     11     b = int(input('请输入你的选项: '))
     12     if b == 1:
     13         c = input('请输入你想添加的姓名:')
     14         d = input('请输入手机号:')
     15         dic [c]= d
     16 
     17     if b == 2:
     18         c = input('请输入你要输出的姓名:')
     19         dic.pop(c)
     20     if b == 3:
     21         c = input('请输入你要修改手机号的姓名:')
     22         d = input('请输入手机号:')
     23         dic[c]= d
     24     if b == 4:
     25         for i in dic:
     26             print(i)
     27     if b == 5:
     28         c = input('请输入你要查找的姓名:')
     29         print('{}的手机号是{}'.format(c,dic[c]))
     30     if b == 6:
     31         break

    5. 随机产生密码:

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

      1 import random
      2 b = list(range(65,91))+list(range(97,123))+list(range(10))
      3 print(b)
      4 for i in range(10):
      5     list1=[]
      6     for y in range(8):
      7         c = random.choice(b)
      8         if c > 10:
      9             list1.append(chr(c))
     10         else:
     11             list1.append(c)
     12     print(list1)
    ~                     

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

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

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

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

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

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

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

    1 print(int('0b1111011',2))
      2 print('{:b}'.format(18))
      3 print(int('0o011',8))
      4 print('{:o}'.format(30))
      5 print(int('0x12',16))
      6 print('{:x}'.format(87))

    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 结果为 1

    v6 结果为 Flase

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

     1 print([(i % 2) for i in range(10)])
      2 g = (i % 2 for i in range(10))
      3 print(g) 
      4 for i in g:
      5     print(i,end=' ')
      6 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 等价的表达式

    cost > 10 and cost < 50

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

      1 '''
      2 python3 中可以一行书写多个语句,需要在每句后面加一个分号。也可以一个语句分成多行写
      3 ,需要在每行结束时加个/来续行
      4 '''
      5 print('a');print('b')
      6 a = ['a','b',
      7     'c','d']
      8 print(a)
      9 
     10 

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

      1 b = float(input('请输入一个数: '))
      2 print(int(b + 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阶,最后刚好一阶也不剩。请编程求解该阶梯至少有多少阶?

     1 y = 0
      2 while True:
      3 
      4     if y % 2 == 1 and y % 3 == 2 and y % 5 == 4 
      5     and y % 6 == 5 and y % 7 == 0:
      6         print(y)
      7         break
      8     else:
      9         y = y + 1
     10 

    运行结果:119

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

    1 x = 1
      2 y = 2
      3 z = 3
      4 x ,y ,z = z, x, y
      5 print(x,y,z)
      6 
      7 #想将哪个变量的值赋值给谁直接赋值即可

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

       while True:

            while True:

                break

                print(1)

            print(2)

            break

       else:

            print(3)

    答:2,因为程序从上向下运行,遇到第一个break,所以不会打印1;打印2后break跳出整个循环。

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

      1 
      2 member = []
      3 member.append(['1竹木小溪','1Crazy迷恋'])
      4 print(member)
      5 member.extend(['2竹木小溪','2Crazy迷恋'])
      6 print(member)
      7 
      8 #用法结果看出不一样,append是将括号内的全部插入给列表,而extend是将[]里的内容插入新
        列表
    ~           

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

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

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

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

      1 #sort顺序排序,sort(reverse=True)反向排序
      2 a = [5,7,6,9,2]
      3 a.sort()
      4 print(a)
      5 a.sort(reverse=True)
      6 print(a)

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

    答:当需要保存的数据不被轻易修改时,用元祖

      当需要保存的数据需要频繁更改时,就用列表。

      谁也不救,不会游泳

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

    答:不是,x,y,z是变量,能被更改

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

    1 while True:
      2     print('请输入你想转化进制的数')
      3     a = int(input(''))
      4     print('你想把这个数由a进制转成b进制:')
      5     x,y = eval(input())
      6     if x == 10: 
      7         if y == 2:
      8             print('{:b}'.format(a))
      9         elif y == 8:
     10             print('{:o}'.format(a))
     11         elif y == 16:
     12             print('{:x}'.format(a))
     13     elif x == 2:
     14         a = '0b' + str(a)
     15         a = int(a,2)
     16         if y == 10:
     17             print(a)
     18         elif y == 8:
     19             
     20             print('{:o}'.format(a))
     21         elif y == 16:
     22             
     23             print('{:x}'.format(a))
     24     elif x == 8:
     25         a = '0o'+ str(a)
     26         a = int(a,8)
     27         if y == 10:
     28             print(a)
     29         elif y == 2:
     30             print('{:b}'.format(a))
     31         elif y == 16:
     32             print('{:x}'.format(a))
     33     elif x == 16:
     34         a = '0x' + str(a)
     35         a = int(a,16)
     36         if y == 10:
     37             print(a)
     38         elif y == 2:
     39             print('{:b}'.format(a))
     40         elif y == 8:
     41             print('{:o}'.format(a))
     42             
     43     else:
     44         print('输入的无效')
     45         break
    ~                 

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

    答:列表,元组,字符串都能被算出长度,都是有序的所以也就都有索引值,能够根据索引查找索引值对应的内容。也能够根据index函数找到相应能容的索引值,count函数计算出某个值在当中出现的次数,他们三个统称为序列。都能存储一串内容。

    17.编写一个函数满足以下功能:

    计算打印所有参数的和乘以基数(base=3)的结果

     1 #函数里的参数可以随意输入多个:
      2 def cj(*nums):
      3     sum1 = 0 
      4     for i in nums:
      5         sum1 += i
      6     return sum1
      7 
      8 print(cj(1,2,3))

    输出结果为 6

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

      1 import random
      2 print('猜字游戏')
      3 a = random.randrange(0,10)
      4 for i in range(3):
      5     b = int(input('请输入你猜的数:'))
      6     if a == b:
      7         print('厉害了!500万属于你')
      8         break
      9     elif b > a:
     10         print('大了,再给你一次机会')
     11         continue
     12     elif b < a:
     13         print('大胆一点')
     14     elif i == 2:
     15         print('你输了')

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

     1 sum1 = 0
      2 for i in range(1,4):
      3     for y in range(1,4):
      4         for z in range(1,5):
      5             if i + y + z == 8:
      6                 sum1 += 1
      7             else:
      8                 continue
      9 print(sum1)
     10 

    输出答案为6种

    20.打印9 9乘法表

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

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

      1 a = 1
      2 for i in range(10):
      3     a = (a +  1) * 2
      4 
      5 print(a)

     运行结果是3070



  • 相关阅读:
    【English】20190307
    【Teradata】四舍五入函数
    【Teradata】配置PE和AMP(congfig和reconfig工具、vprocmanager)
    【English】20190306
    【Teradata】数据库初始化(sysinit和dip工具)
    【Teradata】日期类型转换
    Optional常用操作
    Stream学习笔记
    拦截Restful API的三种方式
    maven之可执行jar包
  • 原文地址:https://www.cnblogs.com/huweitao/p/10087900.html
Copyright © 2011-2022 走看看