Python如何实现无参数调用自定义score函数 无需传入dummy虚拟变量
实现方案
直接删除score函数定义中无用的形参声明即可,你函数内部已经通过用户输入获取了所需的数值,不需要外部传入参数。
修改后完整可运行代码
# 无参的成绩收集函数 def score(): print("Please Enter Your Score: ") num1 = int(input()) grade(num1) def grade(num1: int): if num1 in range(0, 30): print("Grade U") elif num1 in range(30, 40): print("Grade D") elif num1 in range(40, 60): print("Grade C") elif num1 in range(60, 80): print("Grade B") else: print("Grade A") def main(): print("Hi") # 无需传入虚拟参数即可调用 score() if __name__ == "__main__": main()
优化说明
- 移除
score函数冗余形参后,即可直接通过score()完成无参调用 - 去掉了
grade函数中重复的int()类型转换操作,传入的参数本身已经是整数类型 - 将并列
if判断改为elif+else结构,减少不必要的条件校验,提升执行效率 - 补充了Python标准的主函数入口判断,符合通用代码规范
内容的提问来源于stack exchange,提问作者ChristAHFER
相关产品推荐
相关产品推荐

