如何运行无定义参数的函数?实现无参贷款资格校验功能的方法
无参贷款资格判定函数实现方案
要实现无需入参即可完成贷款资格判定的需求,有两种符合要求的实现方式:
方案1:输入逻辑内置到函数中(推荐)
- 优势:函数完全自包含,不依赖外部变量,鲁棒性更高,符合函数封装的设计原则
def loan(): """ ------------------------------------------------------- 贷款资格判定规则:年薪需达到30000及以上,且最低工作年限满5年 调用方式:qualified = loan() ------------------------------------------------------- 返回值: qualified - 符合贷款资格返回True,否则返回False (布尔值) ------------------------------------------------------- """ MIN_SALARY = 30000 MIN_YEARS = 5 # 输入逻辑放到函数内部,无需外部传参 years = int(input('工作年限: ')) salary = float(input('年薪: ')) # 简化判定逻辑,无需多层嵌套 return years >= MIN_YEARS and salary >= MIN_SALARY #--------------主程序-----------------# qualified = loan() print() print('贷款资格判定结果:{}'.format(qualified))
方案2:依赖全局变量实现(适合输入逻辑必须放在主程序的场景)
- 注意事项:需要确保调用函数前,全局作用域已经定义了
years和salary两个变量,否则会报变量未定义错误
def loan(): """ ------------------------------------------------------- 贷款资格判定规则:年薪需达到30000及以上,且最低工作年限满5年 调用方式:qualified = loan() ------------------------------------------------------- 返回值: qualified - 符合贷款资格返回True,否则返回False (布尔值) ------------------------------------------------------- """ MIN_SALARY = 30000 MIN_YEARS = 5 # 直接读取全局作用域的years、salary变量 return years >= MIN_YEARS and salary >= MIN_SALARY #--------------主程序-----------------# years = int(input('工作年限: ')) salary = float(input('年薪: ')) # 调用时无需传参 qualified = loan() print() print('贷款资格判定结果:{}'.format(qualified))
内容的提问来源于stack exchange,提问作者Ahri
相关产品推荐
相关产品推荐

