• 面向过程编程


    TOC

    一、什么是面向过程编程

    面向过程编程是一门编程思想
    核心是‘过程’二字,是指一种解决问题的步骤,即先干什么再干什么。

    二、面向过程编程的例子

    基于该编程思想编写程序,就好比在设计一条工厂的流水线,一种机械化的思维方式。

    # encoding:UTF-8
    # 用于用户注册模块
    
    
    def get_user_password():
        """
        用于用户输入要注册的账号和密码,并校验是否合法
        :return:
        """
        flag = 0
        while flag < 3:  # 如果用户注册账号失败累计大于3,则终止注册程序
            user_name = input('请输入注册的账号:').strip()
            if 'A' < user_name > 'Z' or 'a' < user_name > 'z':
                while flag < 3:  # 如果用户注册密码尝试超过3次,则终止注册程序
                    password = input('请输入密码:').strip()
                    agin_password = input('请再次输入密码确认是否一致:').strip()
                    # 必须将不为空加上,否则输入两次空也符合密码相同
                    if password == agin_password and password != '':
                        new_user_password(user_name, password)
    
                        return user_name, password
                    else:
                        print('你输入的密码两次不一致,请重新输入!')
                        flag += 1
            else:
                print('输入字符不合法,请输入字母!')
                flag += 1  # 如果字符不合法,flag计数+1
    
    
    def new_user_password(user_name, password):
        """
        将用户输入的密码和用户名转为字典的形式
        :param user_name:
        :param password:
        :return:
        """
        list_info = []  # 定义空的列表
        list_info.extend([user_name, password])  # 使用extend向列表尾部添加多个值
        res = dict([list_info])  # 将列表转为字典的形式
        write_user_password(res)
    
        return res  # 返回出来的res会是元组包裹字典的形式
    
    
    def write_user_password(res):
        """
        将返回的res元组里面的字典存入用户信息文件
        :param res:
        :return:
        """
        str_dict_info = str(res)  # 将元组转为字符串,否则不能写入文件中
        with open('user_info.txt', mode='a', encoding='UTF-8') as fw:
            fw.write(f'{str_dict_info}
    ')  # 加上换行符,以便存入多个值
    
    
    get_user_password()
    

    三、面向过程编程的优缺点

    • 优点
      • 将复杂的问题流程化,具体化,进而编写简单
    • 缺点
      • 可扩展性差,修改某一部分代码,会导致其他部分也需要修改(牵一发而动全身)
  • 相关阅读:
    谷歌地图地理解析和反解析geocode.geocoder详解(转)
    Html5 Geolocation获取地理位置信息(转)
    利用单片机快速实现家庭智能控制平台
    邪恶改装:TPYBoard制作廉价WIFI干扰器
    [TPYBoard
    [TPYBoard
    [TPYBoard
    python中的subprocess.Popen()使用
    KVM虚拟机的xml配置文件
    Linux LVM 总结
  • 原文地址:https://www.cnblogs.com/cnhyk/p/11890779.html
Copyright © 2020-2023  润新知