zoukankan      html  css  js  c++  java
  • Python函数基础

    Python函数基础

    1. 定义函数的三种方式

    空函数

    def func1():
        # TODO .....
        pass
    

    无参函数

    def fun1():
        print("test")
    

    有参函数

    def compare(a, b):
        if a > b:
            return True
    

    2. 函数的返回值

    • 函数可用return 返回值

    • return 可终止函数

    • return 可返回多个值,返回值之间用逗号隔开

    • 返回值可以是任意数据类型

    • 当无返回值时,默认返回None

    3. 函数的参数

    • 形参,定义函数时使用,一般具有描述意义,用于接收实参
    • 实参,调用函数时使用,具体的值
    • 形参有位置形参,默认形参
    • 实参有位置实参,关键字实参

    练习

    1. 编写注册函数, 将用户信息保存到文件内,用户信息可保存为`nick:123|sean:456|tank:789'

    2. 编写登录函数, 从文件内读取用户信息进行身份识别

    import os
    def check_forbid_char(input_str, forbid_str_list):
        for item in forbid_str_list:
            if item in input_str:
                return item
    def check_input(prompt, forbid_str):
        ans = input(prompt + "
    ").strip()
        item = check_forbid_char(ans, forbid_str)
        if item:
            print("输入中不允许出现%s" % item)
        elif len(ans) == 0:
            print("输入不能为空")
        else:
            return ans
    def register():
        forbid_str = '|:'
        name = check_input("请输入姓名", forbid_str)
        passwd = check_input("请数目密码", forbid_str)
        file_exists = os.path.exists(file_name)
        if name and passwd:
            with open(file_name, "a") as f:
                # 如果文件存在,写入数据前,加上分隔符 |
                if file_exists:
                    f.write("|")
                f.write(f"{name}:{passwd}")
            print('数据写入成功!')
        else:
            print('数据未写入,请重新输入')
    
    file_name = "user_infor.txt"
    def read_data():
        with open(file_name, "r") as f:
            all_users_infor = {}
            data = f.read().split("|")
            for user in data:
                user_infor = user.split(":")
                all_users_infor[user_infor[0]] = user_infor[1]
            return all_users_infor
    def login_in():
        # 读取用户信息
        data = read_data()
        name = input("请输入用户名:
    ").strip()
        passwd = input("请输入秘密:
    ").strip()
        if name in data.keys():
            if data[name] == passwd:
                print("登陆成功!")
            else:
                print("密码错误")
        else:
            print("用户名不存在")
    
    choose = input("注册请输入1,登陆请输入2:
    ").strip()
    if choose == "1":
        register()
    elif choose == "2":
        login_in()
    else: 
        print("输入选项错误")
    
  • 相关阅读:
    【娱乐向】制作Chrome天气预报扩展程序
    WCF入门四[WCF的通信模式]
    WCF入门三[WCF宿主]
    WCF入门二[WCF的配置文件]
    WCF入门一[WCF概述]
    通过Aspose.Word和ZXING生成复杂的WORD表格
    Dapper.Extension的基本使用
    startUML常用的组合片段
    Sublime Text 2 配置及其使用
    计算机领域会议汇总
  • 原文地址:https://www.cnblogs.com/YajunRan/p/11448652.html
Copyright © 2011-2022 走看看