2

我的问题是什么?我跑biggest(10,5,6)了,但它什么也没返回。

def biggest(a,y,z):
    Max=a
    if y>Max:
        Max=y
        if z>Max:
            Max=z
            return Max
4

8 回答 8

29
>>> max(2, 3, 5)
5
>>> help(max)

关于内置模块内置函数 max 的帮助:

max(...)
    max(iterable[, key=func]) -> value
    max(a, b, c, ...[, key=func]) -> value

    With a single iterable argument, return its largest item.
    With two or more arguments, return the largest argument.
(END) 
于 2013-09-24T05:29:28.227 回答
8

这是因为您的函数中有缩进。您已将指令return Max放在 's 链的最内层if,因此仅当最大值为z数字时它才会返回结果。当aory为最大值时,它什么也不返回。你可以在这里阅读更多关于 python 对缩进的态度。

def biggest(a, y, z):
    Max = a
    if y > Max:
        Max = y    
    if z > Max:
        Max = z
        if y > z:
            Max = y
    return Max

如果你不需要实现自己的功能,你可以使用内置max函数,正如明宇 指出的那样

于 2013-09-24T05:30:28.650 回答
0

我会建议这个...

def max_of_three(x,y,z):
    Max = x
    if y > Max:
        Max = y
    if z > Max:
        Max =z
    print Max

max_of_three(3,4,2)

打印 4

于 2014-05-06T12:26:48.240 回答
0

最好在 python 中使用“max”函数,max 最好的一点是,它不限于 3 或 4 个参数。

 """
    max(iterable, *[, default=obj, key=func]) -> value
    max(arg1, arg2, *args, *[, key=func]) -> value

    With a single iterable argument, return its biggest item. The
    default keyword-only argument specifies an object to return if
    the provided iterable is empty.
    With two or more arguments, return the largest argument.
    """

max_value = max(1, 2, 3)
print(max_value) # will return 3
于 2017-10-03T07:31:59.080 回答
0
x = float(input("Enter the first number: "))
y = float(input("Enter the second number: "))
z = float(input("Enter the third number: "))
if x >= y and x >= z:
    maximum = x
elif y >= z and y >= x:
    maximum = y
else:
    maximum = z
print("The maximum no. b/w : ", x, ",", y, "and", z, "is", maximum)
于 2018-05-08T09:49:13.957 回答
-1
  def findMax(a, b,c)

     return max(a, b,c)

  print(findMax(6, 9, -5)
于 2018-02-18T23:03:13.993 回答
-2

我会把它贴在这里,以防一些新的 Python 学生来到这里。

def biggest (a, b, c):
    imax = a
    if (b > imax) and (b > c):
            imax = b
    elif (c > imax):
            imax = c
    return imax

#to test
print (biggest(5,6,7))
于 2017-04-02T13:16:50.733 回答
-4
if x>y>z:
    print ("max number is x : ",x)
if z>y : 
    print ("max number is z : ",z)
if y>z :
    print  ("max number is y : ",y)
于 2016-05-01T16:33:09.307 回答