• python基础05 循环 变量 函数组合案例


    目录

    1. 前言: 

    2. 案例详情:

    -> 2.1 案例拆解

    ---> 2.1.1 主页功能: 

    ---> 2.1.2 查余额:

    ---> 2.1.3 存钱

    ---> 2.1.4 取钱

    ---> 2.1.5 返回首页重试[可有可无]

    ---> 2.1.6 退出

    3. 实现代码(python版)

    4. 运行结果: 

    -> 4.1 文字式 想写的可以直接复制文字

    -> 4.2 图示(更清晰)

    5. 总结: 


    1. 前言: 

    之前的文章在专栏就能看到  按照编号顺序 案例网上找并改编的 代码自己手写的

     基础目录: 

    1. 变量和数据类型:了解Python中不同的数据类型和如何定义变量。

    2. 运算符:学习Python中的各种运算符,如算术、比较、逻辑、成员运算符等。

    3. 控制流程语句:学习Python中的各种控制流程语句,如条件语句、循环语句等。

    4. 函数和模块:学习如何定义函数以及如何使用模块来组织代码。

    5. 文件操作:理解如何读写文件。

    6. 异常处理:理解如何处理异常情况。

    7. 数据结构:了解Python中常用的数据结构,如列表、元组、字典、集合等。

    8. 面向对象编程:学习Python中的面向对象编程,如类、对象、继承、多态等。

    9. 正则表达式:了解如何使用正则表达式进行字符串匹配和替换。

    10. 标准库的使用:学习Python标准库中常用的模块和函数

    python基础之循环 变量 函数组合 的一个新案例 

    2. 案例详情:

    ATM的收银取银过程  大致借用一下网上案例 自己实在懒得编了

    -> 2.1 案例拆解

    ---> 2.1.1 主页功能: 

    请输入您要操作的功能: 1查询余额 2存钱 3取钱 4返回主页(重试) 5退出

    ---> 2.1.2 查余额:

    都要显示当前余额

    ---> 2.1.3 存钱

    询问存多少 存完返回主页

    ---> 2.1.4 取钱

    询问取多少 取完返回主页

    ---> 2.1.5 返回首页重试[可有可无]

    返回首页(表示重试)

    ---> 2.1.6 退出

    (先退出用户名 后退出)

    3. 实现代码(python版)

    不用java写了 没啥必要 很简单的小案例

    写法一大推  本案例可能有更好的写法吧  

    1. """
    2. 四个选项 查询余额 存钱 取钱 退出
    3. 存钱 取钱 查余额都要显示当前余额
    4. """
    5. money = 5000
    6. name = None
    7. def show_balance():
    8. print(f"用户姓名: {name} , 余额是: {money}元")
    9. main_menu()
    10. def add_balance(add_money):
    11. global money
    12. money += add_money
    13. show_balance()
    14. def sub_balance(sub_money):
    15. """
    16. 取钱 注意 钱没了就不能取了
    17. :param sub_money: 取的钱数
    18. :return: None
    19. """
    20. global money
    21. if sub_money <= money:
    22. money -= sub_money
    23. else:
    24. print("操作失败, 余额不足, ", end="")
    25. show_balance()
    26. def exit_active():
    27. global name
    28. name = None
    29. def main_menu():
    30. global name
    31. if not name:
    32. name = input("请输入您的姓名: \n")
    33. print(f"当前登录的用户名字为: {name}")
    34. input_num = int(input("请输入您要操作的功能: 1查询余额 2存钱 3取钱 4返回主页(重试) 5退出\n"))
    35. if input_num == 1:
    36. print("1 查询余额操作------> ")
    37. show_balance()
    38. if input_num == 2:
    39. print("2 存钱操作------> ")
    40. add_balance(int(input("请输入存入金额: \n")))
    41. if input_num == 3:
    42. print("3 取钱操作------> ")
    43. sub_balance(int(input("请输入取出金额: \n")))
    44. if input_num == 4:
    45. print("4返回主页------> ")
    46. main_menu()
    47. if input_num == 5:
    48. print("5 退出------> ")
    49. exit_active()
    50. return None
    51. # 程序入口
    52. while True:
    53. if not main_menu():
    54. break
    55. print(f"当前用户退出成功, 现在登录的用户是: {name}")

    4. 运行结果: 

    -> 4.1 文字式 想写的可以直接复制文字

    请输入您的姓名: 
    pzy
    当前登录的用户名字为: pzy
    请输入您要操作的功能: 1查询余额 2存钱 3取钱 4返回主页(重试) 5退出
    1
    1 查询余额操作------> 
    用户姓名: pzy , 余额是: 5000元
    当前登录的用户名字为: pzy
    请输入您要操作的功能: 1查询余额 2存钱 3取钱 4返回主页(重试) 5退出
    2
    2 存钱操作------> 
    请输入存入金额: 
    100
    用户姓名: pzy , 余额是: 5100元
    当前登录的用户名字为: pzy
    请输入您要操作的功能: 1查询余额 2存钱 3取钱 4返回主页(重试) 5退出
    3
    3 取钱操作------> 
    请输入取出金额: 
    50
    用户姓名: pzy , 余额是: 5050元
    当前登录的用户名字为: pzy
    请输入您要操作的功能: 1查询余额 2存钱 3取钱 4返回主页(重试) 5退出
    4
    4返回主页------> 
    当前登录的用户名字为: pzy
    请输入您要操作的功能: 1查询余额 2存钱 3取钱 4返回主页(重试) 5退出
    5
    5 退出------> 
    当前用户退出成功, 现在登录的用户是: None

    -> 4.2 图示(更清晰)

    5. 总结: 

    ---> 功能分析步骤:

    上面案例 最开始想清楚 那些功能是共用的 

    1. 先把所有功能做成函数

    2. 分析全局变量是什么 余额和登录人姓名

    3. 分析主体 判断出是一个死循环 同时找到程序出口(输入5 退出 则退出(报错也可以))

    4. 观察每个功能 将共用方法放到每个单独方法里 (存钱/取钱 -> 查看余额) 

    5. 查看余额功能后 是不是必然回到主页 (查看余额-> 返回主页main方法)

    6. 判断登录用户名 如果有值不是None 则继续操作 否则输入用户名

    7. 退出不仅仅是程序退出 同时用户名也需要清除

    8. 进行测试, 注意测试 取出超过余额的钱是否能取出  (操作失败,余额不足 )


  • 相关阅读:
    Vue源码学习(十二):列队处理(防抖优化,多次调用,只处理一次)
    嵌入式经典面试题
    微服务 - Consul集群化 · 服务注册 · 健康检测 · 服务发现 · 负载均衡
    JSP ssh 校园二手商品拍卖系统myeclipse开发mysql数据库MVC模式java编程网页设计
    JS 串口 16进制数据累加和取低位
    计算机毕业设计springboot酒店客房管理系统8yj0v源码+系统+程序+lw文档+部署
    安装mqtt服务器问题及处理办法
    redis 未授权访问漏洞详解
    y105.第六章 微服务、服务网格及Envoy实战 -- HTTP服务韧性(十六)
    useEffect的两个参数
  • 原文地址:https://blog.csdn.net/pingzhuyan/article/details/132280753