尝编写一个用户登录程序(将功能封装成函数)

本文描述了一个用户登录程序,包括创建新用户功能,要求用户名唯一且密码验证严格。登录过程包含密码错误提示和输入次数限制。程序采用函数封装并实现基本的用户操作选项。
摘要由CSDN通过智能技术生成
尝试编写一个用户登录程序(这次尝试将功能封装成函数):
---新建用户:N/n---
---登录账号:E/e---
---退出程序:Q/q---


需求一:创建用户时,用户名不可重复
需求二:登录用户时,账号不存在,提示输入账号或密码有误,请重新输入
需求三:登录用户时,如果用户密码或账号输入次数超过3次,则退出程序

user_list = {}
error_count = 0


def creat_account(user_list):
    """
    创建新账号
    :param user_list:用户清单
    :return:user_list
    """
    # 循环
    while True:
        # 请输入要创建的账号
        user = input("请输入要创建的账号:")
        # 请输入创建账号的密码
        pw1 = input("请输入密码:")
        # 密码确认,第二次输入密码
        pw2 = input("请确认密码:")
        # 判断两次密码是否一致
        if pw1 != pw2:
            print("两次密码不一致,请重新输入:")
            continue
        # 将账户存入字典
        if user not in user_list.keys():
            # 判断账号是否已经存在
            user_list[user] = pw1
            print("注册成功,赶紧试试登录吧")
            return user_list
        print("此用户名已被使用,请重新输入:")


def login(user_list):
    """
    登录账号
    :param user_list: 用户清单
    :return: None
    """
    global error_count
    # 用户输入账号和密码
    user = input("请输入用户名:")
    # 判断输入的用户名是否在用户字典的key中
    pw = input("请输入密码:")
    if user not in user_list.keys():
        error_count += 1
        print("账号或密码错误,请重新输入")
        return

    # 判断密码是否正确
    if user_list[user] != pw:
        error_count += 1
        print("账号或密码错误")
        return
    print("登录成功")
    error_count = 0
    # 提示账号或密码输入有误,请重新输入


# 循环
while True:
    # 打印欢迎界面
    print(
        """
        ---新建用户:N/n---
        ---登录账号:E/e---
        ---退出程序:Q/q---
        """
    )
    # 用户选择
    user_choice = input("请选择你要进行的操作:")
    # 判断用户选择
    # 创建
    if user_choice == 'N' or user_choice == 'n':
        user_list = creat_account(user_list)
        print(user_list)
        # 登录
    elif user_choice == 'E' or user_choice == 'e':
        login(user_list)
        if error_count >= 3:
            print("登录次数超限,请稍后再试")
            break
        # 退出
    elif user_choice == 'Q' or user_choice == 'q':
        print("程序即将退出")
        break
    else:
        print("输入有误,请重新输入:")

将一段 C 代码封装一个函数的一般步骤如下: 1. 确定函数名称和参数列表。 首先需要确定函数的名称和需要传入的参数列表,函数名称应该能够清晰地表达该函数所完的任务,参数列表应该包含该函数所需要使用的数据。 例如,如果我们要封装一个函数用于计算两个数的和,那么函数名称可以是 add,参数列表可以是两个 int 类型的数值。 2. 编写函数体。 编写函数体时,需要根据参数列表中传入的数据来完具体的任务,并将结果返回。在编写函数体时,可以使用其他的函数和变量,但是需要注意变量的作用域。 例如,在计算两个数的和的函数中,可以使用加法运算符来计算两个数的和,并将结果返回。 3. 在主函数中调用函数。 在编写函数时,可以调用刚刚封装好的函数来完具体的任务。在调用函数时,需要按照函数参数列表中的顺序传入参数,并接收函数返回的结果。 例如,在主函数中调用计算两个数的和的函数时,需要按照参数列表的顺序传入两个数值,并接收函数返回的和。 下面是一个简单的示例代码: ``` #include <stdio.h> int add(int a, int b) { return a + b; } int main() { int result = add(2, 3); printf("The result is %d\n", result); return 0; } ``` 在这个示例代码中,我们封装一个函数 add,用于计算两个数的和,然后在主函数中调用了该函数,并将结果打印出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值