You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将自定义max函数拆分为含main函数的两个函数?

解决方案

我们可以把代码拆分为输入处理和数值比较两个独立函数:

  • 一个main()函数负责获取用户输入、转换数据类型,并调用比较函数
  • 一个自定义比较函数(命名为my_max,避免和Python内置max重名)专注于判断两个数的大小

修改后的完整代码:

def my_max(x, y):
    if x > y:
        return x
    else:
        return y

def main():
    # 获取输入并转换为整数(原代码未转类型,会导致字符串比较错误)
    x = int(input("Enter integer value 1..."))
    y = int(input("Enter integer value 2..."))
    result = my_max(x, y)
    print(result)

# 执行main函数
if __name__ == "__main__":
    main()

关键说明

  1. 函数拆分逻辑:

    • my_max只负责接收两个数值参数,完成大小比较并返回结果,职责单一
    • main负责处理输入输出的交互逻辑,调用my_max时将转换后的整数x和y作为实参传递过去
  2. 修复原代码的隐藏问题:
    原代码直接用input()的结果比较,本质是字符串字典序比较(比如输入"10"和"2"会得到"2",因为字符'1'的ASCII码小于'2'),所以必须用int()转换为整数再比较

内容的提问来源于stack exchange,提问作者darktown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 15:25:19