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

Python定义函数时如何使用input函数获取输入的数值参数

实现方法说明

首先需要注意:input() 函数默认返回字符串类型,必须先转换为数值类型(整数int或浮点数float)才能传入函数做数值比较,否则会按字符串编码规则排序得到错误结果。

另外你原有函数有两个可以优化的点:

  • 不要用max作为自定义函数名,会覆盖Python内置的max()函数,导致后续调用内置方法出错
  • 现有逻辑未覆盖两个值相等且同为最大值的场景(如5、5、3),且三个值相等时会返回布尔值True而非数值,建议调整逻辑

方法1:逐个提示用户输入3个数字

代码实现如下:

# 修正后的求三个数最大值函数
def max_num(num1, num2, num3):
    if num1 >= num2 and num1 >= num3:
        return num1
    elif num2 >= num1 and num2 >= num3:
        return num2
    else:
        return num3

# 逐个获取用户输入并转成浮点数
a = float(input("请输入第一个数字:"))
b = float(input("请输入第二个数字:"))
c = float(input("请输入第三个数字:"))

# 调用函数输出结果
print("三个数的最大值是:", max_num(a, b, c))

方法2:用户一次性输入3个数字(空格分隔)

如果不想分三次输入,可以一次性读取后拆分转换:

def max_num(num1, num2, num3):
    if num1 >= num2 and num1 >= num3:
        return num1
    elif num2 >= num1 and num2 >= num3:
        return num2
    else:
        return num3

# 读取输入后拆分转成数值
input_content = input("请输入三个数字,用空格分隔:")
n1, n2, n3 = map(float, input_content.split())

print("三个数的最大值是:", max_num(n1, n2, n3))

注意事项

  • 如果要限制用户输入整数,把代码里的float()替换为int()即可
  • 可以自行加输入校验逻辑,避免用户输入非数字内容报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:06:04