如何用Python实现命令行多组双输入参数的函数批量执行与结果输出
改造Python函数以支持命令行多组双参数调用
先补全原代码缺失的sys模块导入,再修改主程序逻辑实现多组参数的处理:
修改后的完整代码
import sys def function_name(inputa, inputb): # 保留你原本的长公式逻辑,下面是示例公式可替换 return inputa + inputb if __name__ == '__main__': # 校验参数数量合法性:必须是偶数个(每组两个参数) if len(sys.argv) < 2 or (len(sys.argv) - 1) % 2 != 0: print("错误:请传入偶数个数值参数,每组两个为一组") print("示例:python3 function_name.py 0.3 0.2 0.1 0.5") sys.exit(1) # 从第1个参数开始(sys.argv[0]是脚本名),每两个参数为一组循环处理 for i in range(1, len(sys.argv), 2): a = float(sys.argv[i]) b = float(sys.argv[i+1]) result = function_name(a, b) print(f"参数组({a}, {b})的结果:{result}")
关键修改说明
- 新增
import sys:原代码用了sys.argv但未导入模块,必须补上 - 参数合法性校验:避免出现单参数剩余的非法输入情况
- 循环分组处理:通过步长为2的循环,自动将参数按每两个一组拆分,依次调用函数并输出结果
使用示例
传入两组参数的情况:
执行命令:python3 function_name.py 0.3 0.2 0.1 0.5输出结果:
参数组(0.3, 0.2)的结果:0.5 参数组(0.1, 0.5)的结果:0.6传入单组参数的情况:
执行命令:python3 function_name.py 1.5 2.5输出结果:
参数组(1.5, 2.5)的结果:4.0参数数量错误的情况:
执行命令:python3 function_name.py 0.3 0.2 0.1输出提示:
错误:请传入偶数个数值参数,每组两个为一组 示例:python3 function_name.py 0.3 0.2 0.1 0.5
内容的提问来源于stack exchange,提问作者MkLinux
相关产品推荐
相关产品推荐

