首页 > 编程语言 >python_August(函数对象、功能选择)

python_August(函数对象、功能选择)

时间:2024-09-04 17:40:06浏览次数:9  
标签:f1 f2 August python choice func print def 函数

目录

python中一切皆对象

# python中一切皆对象
# print(self_max)  # <function self_max at 0x0000020E4456CF28>
# print(id(self_max))
# print(type(self_max))
# print(type([1,2]))
# print(type(1))
# print(type(True))

# 1. 引用,赋值
# a = 'str'
# 'str'.strip()
# a.strip()

# 2. 当做函数的返回值
# def f2():
#     print('from f2')
#
# def f1():
#     return f2  # f2 =1
#
# print(f1())  # f2  <function f2 at 0x0000020E4456CF28>
# f = f1()   # f = f2
# f()  # f2()

# 3. 当做函数的参数

# def f1():
#     print('from f1')

# def f2(m):  # m=f1   # m ='str'
#     return m # m=f1  # m= 'str'
#
# f = f2(f1)  # f1
# f()   # f1()
#
# s = f2('str')  # 'str'
# print(s)

# 4. 作为容器元素的元素
# def f1():
#     print('from f1')
#
#
# l = ['str', 1, f1]
# l[2]()

功能选择

def trans():
    print('from trans')


def withdraw():
    print('from withdraw')


func_dict_print = {
    0: 'trans',
    1: 'withdraw',
    2: 'quit',
}

func_dict = {
    0: trans,
    1: withdraw,
}

while True:
    print(func_dict_print)
    choice = input('请选择你想要的选择的功能>>>').strip()
    choice_int = int(choice)

    if choice_int == 2:
        break

    func_dict[choice_int]()

函数的嵌套

 if 1:
#     if 2:
#         pass

# 定义阶段只检测语法,不执行代码
# def f1():
#     def f2():
#         print('from f1')
#     f2()
#
# f1()

功能选择增加内容版

def register():
    """注册"""
    # 判断是否注册成功
    is_register = False

    # 输入用户名密码
    username = input("请输入你的用户名>>>").strip()
    pwd = input("请输入你的密码").strip()

    # 保存用户信息
    with open('user_info.txt', 'a', encoding='utf8') as fr:
        fr.write(f'{username}:{pwd}')
        is_register = True

    return is_register


def login():
    """登录"""
    # 判断是否登陆成功
    is_login = False

    # 输入用户名和密码
    username = input("请输入你的用户名>>>").strip()
    pwd = input("请输入你的密码").strip()

    # 用户名和密码比对
    with open('user_info.txt', 'r', encoding='utf8') as fr:
        # 循环遍历所有用户
        for user in fr:
            user_list = user.strip().split(':')
            username_f = user_list[0]
            pwd_f = user_list[1]

            # 判断是否有比对成功用户
            if username == username_f and pwd == pwd_f:
                is_login = True
                print('登陆成功')
                return is_login

        return is_login



def shopping():
    """购物"""
    # 判断是否成功购物
    is_shopping = False

    # 定义商品
    goods_dict = {
        0: 'apple',
        1: 'tesla',
        2: 'maikailun',
        3: 'ballwawa',
    }

    # 打印商品信息
    for goods in goods_dict.items():
        print(goods)

    # 用户输入想要购买的商品
    goods_choice = input("请选择你想要购买的商品>>>").strip()

    # 判断用户输入是否符合规则
    if not goods_choice.isdigit():
        print('傻逼,重新选择')
        return is_shopping

    # 成功购物
    print(f'你已经成功购买{goods_dict[int(goods_choice)]}')
    is_shopping = True

    return is_shopping


func_dict = {
    0: register,
    1: login,
    2: shopping,
}
msg = '''
0 : register 注册
1 : login 登录
2 : shopping 购物
3 : quit 退出
'''

while True:
    # 打印功能
    print(msg)

    # 输入功能
    func_choice = input("请选择你想要输入的功能:>>>").strip()

    # 判断是否误输入
    if func_choice.isdigit():
        func_choice = int(func_choice)

    # 判断是否退出
    if func_choice == 3:
        break

    # 判断是否继续
    func_res = func_dict[func_choice]()
    if func_res:
        continue_choice = input('是否继续,继续请输入"y"or"Y">>>')

        if not (continue_choice == 'y' or continue_choice == 'Y'):
            print('好吧,谢谢你关顾nick大厦')
            break

标签:f1,f2,August,python,choice,func,print,def,函数
From: https://www.cnblogs.com/yyds703/p/18397003

相关文章

  • python 绘制折线图包括设置字体折线粗细以及标题立方m等
    #!usr/bin/envpython#-*-coding:utf-8-*-"""@author:Suyue@file:flyzhexian.py@time:2024/09/04@desc:"""importpandasaspdimportmatplotlibimportmatplotlib.pyplotaspltimportmatplotlib.tickerastickermatplot......
  • Python基础 5 - 类、对象、注解
    文章目录一、初识对象1、什么是面向对象?2、成员方法1)类的定义和使用2)成员方法的定义3、类和方法面向对象编程4、属性(成员变量)的赋值5、其他类内置方法1)__str__字符串方法2)__lt__小于符号比较方法3)__le__小于等于符号比较方法4)__eq__等于符号比较方法......
  • 一文搞懂回调函数
    回调函数概念回调函数(CallbackFunction)是一种通过函数指针调用的函数。回调函数的一个典型用途是允许代码的一个模块或组件通知另一个模块或组件,事件已经发生或者某种条件已经达成。回调函数通常作为参数传递给另一个函数,后者在合适的时候调用它。简而言之,回调函数就是......
  • 基于ABC-BP人工蚁群优化BP神经网络实现数据预测Python实现
    在数据预测领域,传统的统计方法和时间序列分析在面对复杂、非线性的数据时往往力不从心。随着人工智能技术的快速发展,神经网络特别是BP(BackPropagation)神经网络因其强大的非线性映射能力,在预测领域得到了广泛应用。然而,BP神经网络也存在易陷入局部最优、收敛速度慢等问题。为了......
  • 【Python篇】详细学习 pandas 和 xlrd:从零开始
    文章目录详细学习`pandas`和`xlrd`:从零开始前言一、环境准备和安装1.1安装`pandas`和`xlrd`1.2验证安装二、`pandas`和`xlrd`的基础概念2.1什么是`pandas`?2.2什么是`xlrd`?三、使用`pandas`读取Excel文件3.1读取Excel文件的基础方法代码示例:读取......
  • 【Python玩转GIS数据】专栏内容介绍
    文章目录专栏亮点......
  • python从入门到成神的系列教程(文末附20G资料)
    根据您的需求,我会对每个类目进行一些补充和详细说明。1、字面量字面量是直接在代码中书写的固定值,例如数值、字符串、布尔值等。在Python中,字面量可以直接出现在代码中,不需要额外的构造函数或者类型声明。常用数据类型类型描述示例数字(Number)包括整数、浮点数、复数-整......
  • MySQL(二)函数
    聚合函数1、AVG()函数返回数值列的平均值SELECTAVG(column_name)FROMtable_name2、COUNT()函数返回匹配指定条件的行数(1)返回指定列的值的数目(NULL不计入)SELECTCOUNT(column_name)FROMtable_name;(2)返回表中的记录数SELECTCOUNT(*)FROMtable_name;(3)返回指......
  • 【C++从练气到飞升】19---哈希:哈希冲突 | 哈希函数 | 闭散列 | 开散列
     ......
  • 20240907_051745 python 正则表达式 常见元字符
    •.:匹配任意单个字符•\d:匹配数字(等价于[0-9])•\w:匹配字母、数字、下划线(等价于[a-zA-Z0-9_])•\s:匹配空格、制表符、换行符等空白字符•^:匹配开头•$:匹配结尾•*:匹配前面的字符零次或多次•+:匹配前面的字符一次或多次•?:匹配前面的字符零次或一次•[]:匹配方括......