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

[Python学习日记-57] 常用模块的练习(答案更新中)

[Python学习日记-57] 常用模块的练习

简介

题目

答案

简介

        本篇是常用模块的练习题,主要用于巩固前面学习的函数内容,建议先自己做一遍,最后再对答案,这样会比较稳固。

题目

1、导入模块的方式有哪几种,官方不推荐哪种?

2、如何让你写的模块可以被系统上任何一个 .py 文件导入?

3、写一个用户登录验证程序,文件名为 account.json,内容如下

{"expire_date":"2021-01-01","id":1234,"status":0,"pay_day":22,"password":"abc"}

  • 根据用户输入的用户名和密码,找到对应的 json 文件,把数据加载出来进行验证
  • 用户名为 json 文件名,密码为 password
  • 判断是否过期,与 expire_date 进行对比
  • 登陆成功后,打印“登陆成功”,三次登陆失败,status 值改为1,并且锁定账号

4、把第3题用户密码进行 hashlib 加密处理。即:json 文件里的密码保存为 md5 的值,然后用 md5 的值进行验证账号信息是否正确。

5、最近 jove 买了个 Ford Bronco Raptor,通过转账的形式付款,并且支付了5%的手续费,Ford Bronco Raptor 价格为130万。账户文件为 json,请用程序实现该转账行为。

  • 目录结构为

|——  account

|        |——  jove.json

|        |——  ford_company.json

|

|——  bin

|        |——  start.py

        当执行 start.py 时,出现交互窗口

------ ICBC Bank------

1.账户信息

2.转账

  • 选择1:账户信息,显示 jove 的当前账户余额
  • 选择2:转账,直接扣掉130万和利息费用并且 ford_company 账户增加130万

6、对第5题增加一个提现需求。

  • 目录结构为

|——  account

|        |——  jove.json

|        |——  ford_company.json

|

|——  bin

|        |——  start.py

|

|——  core

|        |——  withdraw.py

  • 选择1:账户信息,显示 jove 的当前账户余额和信用额度
  • 选择2:提现,提现金额应小于等于信用额度,利息为5%,提现金额为用户自定义
  • 提现代码的实现要写在 withdraw.py 里

7、尝试把上一章的验证用户登陆的装饰器添加到提现和转账的功能上。

8、对第7题的用户转账、登录、提现操作均记录日志,日志文件位置如下

|——  account

|        |——  jove.json

|        |——  ford_company.json

|

|——  bin

|        |——  start.py

|

|——  core

|        |——  withdraw.py

|

|——  logs

|        |——  bank.log

        日志格式如下

20241026 18:34:23        jove        transfer        transfered to [ford_company] with amount RMB130
20241026 14:21:15        jove        withdraw        withdraw cash RMB800,intrest is RMB40.
20241025 22:27:19        jove        consume        consumed cash RMB600 in shop [浪险猴洗浴中心]

答案(答案更新中)

1、导入模块的方式有哪几种,官方不推荐哪种?

        导入模块的方式有3种,分别是:

# 第1种
impot module_a    # 导入模块(这个模块可以是一个文件夹或者只是一个 .py 文件)# 第2种
from module import xx    # 导入模块中的一个子模块或者函数from module.xx.xx import xx    # 导入多层结构的模块from module.xx.xx import xx as rename    # 导入后重命名# 第3种
from module.xx.xx import *    # 导入一个模块下的所有方法,不建议使用

        官方不推荐第3种,因为这种方式会导入模块中的所有名称,可能会导致命名冲突或者不必要的变量覆盖。

2、如何让你写的模块可以被系统上任何一个 .py 文件导入?

        只需要把你写的模块放置到  \your_python_install_path\Lib\site-packages(第三方库)中,就可以被系统上任何一个 .py 文件导入。

3、

4、

5、

6、

7、

8、


http://www.mrgr.cn/news/59142.html

相关文章:

  • 服务器虚拟化
  • 多款云存储平台存在安全漏洞,影响超2200万用户
  • 人工智能在自然语言处理(NLP)中的应用
  • 第23周Java主流框架入门-SpringMVC 2.RESTful开发风格
  • webRTC搭建:STUN 和 TURN 服务器 链接google的有点慢,是不是可以自己搭建
  • 零基础Java第十期:类和对象(一)
  • 爆破(使用Burp Suite)
  • 使用anaconda3创建Python 虚拟环境
  • C++ 在项目中使用vim
  • 【前端开发入门】JavaScript快速入门--js变量
  • 红黑树(Red-Black Tree)
  • 5.Linux按键驱动-fasync异步通知
  • 《人脸表情识别可解释性研究综述(计算机学报)》
  • 如何在Linux服务器后台训练模型
  • eks节点的网络策略配置机制解析
  • 对角双差速轮AGV的动力学解算
  • 【大数据技术基础 | 实验五】ZooKeeper实验:部署ZooKeeper
  • 028_Comma_Separated_List_in_Matlab中的逗号分割列表
  • 【C++初阶】一文讲通C++内存管理
  • 数据结构与算法分析:你真的理解排序算法吗——桶排序(代码详解)
  • redis高级篇之IO多路复用select方法简介 第174节答疑
  • 基于DDPG算法的股票量化交易
  • 【项目实战】HuggingFace初步实战,使用HF做一些小型任务
  • 如何快速绘制高效的业务架构图(三步完成)
  • 【动手学深度学习】8.5 循环神经网络从零开始实现
  • 跟我学C++中级篇——volatile的探究