当前位置: 首页 > news >正文

python1210作业

小作业3:

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

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

print('''=======通讯录管理系统=======
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================''')
dic={'':139,'':156,'':438}
while True:
    ls=[1,2,3,4,5,6]
    a=int(input('请输入你要实现的功能:'))
    if a==ls[0]:
        x=input('请输入你的姓名:')
        y=input('请输入你的电话号码:')
        dic[x]=y
        print(dic)
        continue
    elif a==ls[1]:
        Delete=input('请输入你要删除的姓名:')
        if x in dic:
            dic.pop(Delete)
            print('{}已删除!'.format(Delete))
        else:
            print('查无此人!')
        continue
    elif a==ls[2]:
        b=input('请输入想要修改的联系人:')
        if b in dic.keys():
            c=input('请输入新手机号')
            dic[b]=c
            print('修改完毕')
        else:
            print('输入无效手机号')
    elif a==ls[3]:
        for i in dic.items():
            print(i)
            continue
    elif a==ls[4]:
        d=input('请输入你要查找的姓名:')
        if d in dic:
            print('{}的手机号是:{}'.format(d,dic.get(d)))
            continue
    elif a==ls[5]:
        break

小作业4:

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

import random
a='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
a=list(a)
for x in range(10):
    c=''
    for y in range(8):
        b=random.choice(a)
        c+=b
    print(c)

小作业5:

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

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

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

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

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

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

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

v1 = 0b1111011
print(v1)
v2=18
v2='{:b}'.format(v2)
print(v2)
v3=0o011
v3=int(v3)
print(v3)
v4=30
v4='{:o}'.format(v4)
print(v4)
v5=0x12
print(v5)
v6=87
v6='{:x}'.format(v6)
print(v6)

3.求结果

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 False and 1 结果:False

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

结果:

a = [i % 2 for i in range(10) ]
print(a)
b = (i % 2 for i in range(10) )
print(b)
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
<generator object <genexpr> at 0x7fa11da1ba98>

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

小作业6:

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

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

一行可以输入多个语句,需要用分号隔开,如print("小甲鱼");print("fishC")
Python3 中,一个语句可以分成多行书写吗?

可以

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

a = input('请输入一个数字:')
c=eval(a)
b=c+0.5
print(int(b))

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阶,最后刚好一阶也不剩。请编程求解该阶梯至少有多少阶?

for i in range(1000):
    if i % 2 ==1:
        if i % 3 ==2:
            if i % 5 ==4:
                if i % 6 ==5:
                    if i % 7 ==0:
                        print(i)
                        break

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

x=1
y=2
z=3
x,y=y,x
x,z=z,x
print(x,y,z)

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

while True:

  while True:

    break

    print(1)

  print(2)

  break

else:

  print(3)

会打印出2

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

不一样。因为.append(['竹林小溪', 'Crazy迷恋'])是在member最后加上['竹林小溪', 'Crazy迷恋'],而member.extend(['竹林小溪', 'Crazy迷恋'])是在member在最后加上['竹林小溪', 'Crazy迷恋'], '竹林小溪', 'Crazy迷恋'

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

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

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

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

print(x.sort())

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

print(x.sort(reverse=True))

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

不需要对列表修改或需要安全性高时使用元组
当元组和列表掉下水,你会救谁?
救列表,因为列表不仅可以转化为元组,还可以进行增删改等元组不具备的功能

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

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

a=int(input('请输入你要转换数的进制(2,8,10,16):'))
b=input('请输入你要转换的数:')
c=int(input('请输入你要转换成的进制(2,8,10,16):'))
d=0
if a == 10:
    if c == 2:
        d=bin(int(b))
        print(d)
    elif c == 8:
        d=oct(int(b))
        print(d)
    elif c==16:
        d=hex(int(b))
        print(d)
elif a == 2:
    if c == 8:
        d=oct(int(b,2))
        print(d)
    elif c == 10:
        d=int(b,2)
        print(d)
    elif c == 16:
        d=hex(int(b,2))
        print(d)
elif a == 8:
    if c == 2:
        d=bin(int(b,8))
        print(d)
    elif c == 10:
        d=int(b,8)
        print(d)
    elif c == 16:
        d=hex(int(b,8))
        print(d)
elif a == 16:
    if c == 2:
        d=bin(int(b,16))
        print(d)
    elif c == 10:
        d=int(b,16)
        print(d)
    elif c == 8:
        d=oct(int(b,16))
        print(d)

15.我们根据列表、元祖和字符串的共同特点,把它们三统称为什么?有什么共性
称为有序序列,可以遍历、切片、求长度、求最大最小值、统计和索引

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

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

20.打印9 9乘法表

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

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

for a in range(1,10):
    for b in range(1,a+1):
        print('{}*{}={:2}'.format(b,a,a*b),end=' ')
    print()
[root@localhost day4-1]# cat hw13.py
a=1
for i in range(9):
    a=(a+1)*2
print(a)

 

转载于:https://www.cnblogs.com/chengxiaogang/p/10097307.html

相关文章:

  • 7 练习1 -作业讲解
  • 并发编程
  • Vscode的使用
  • VS2015调用Matlab2017a环境配置(转载)
  • 遍历器 for...of 循环
  • iOS开发实战之搜索控制器UISearchController使用
  • 饭卡
  • mysql索引原理与查询优化
  • protobuf中文教程(第一篇)
  • ASP.Net Core The type initializer for 'Gdip' threw an exception
  • js变量前的+是什么意思
  • ActiveMQ消息的消费原理
  • 下拉框搜索插件chosen
  • Vue -computed传参数
  • bzoj 2535 bzoj 2109 [Noi2010]Plane 航空管制——贪心
  • [数据结构]链表的实现在PHP中
  • 07.Android之多媒体问题
  • 2017-09-12 前端日报
  • CentOS从零开始部署Nodejs项目
  • codis proxy处理流程
  • Js基础——数据类型之Null和Undefined
  • mockjs让前端开发独立于后端
  • SAP云平台里Global Account和Sub Account的关系
  • Sass Day-01
  • SQL 难点解决:记录的引用
  • windows-nginx-https-本地配置
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 前端路由实现-history
  • 数据可视化之 Sankey 桑基图的实现
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • Linux权限管理(week1_day5)--技术流ken
  • ​力扣解法汇总946-验证栈序列
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (二)丶RabbitMQ的六大核心
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (篇九)MySQL常用内置函数
  • (图)IntelliTrace Tools 跟踪云端程序
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一一四)第九章编程练习
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)linux 命令大全
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • /var/spool/postfix/maildrop 下有大量文件
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • [ 数据结构 - C++]红黑树RBTree
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会
  • [CERC2017]Cumulative Code
  • [Flutter]设置应用包名、名称、版本号、最低支持版本、Icon、启动页以及环境判断、平台判断和打包
  • [HNOI2018]排列
  • [html] 动态炫彩渐变背景