Python函数找到最多三个数字并比较数字

时间:2018-05-31 08:57:51

标签: python python-3.x

此功能用于查找最大数量。我还需要比较数字,如果输入数字相同,则显示数字相同。由于我已经a=2b=8c=8三个数字,最多为8,该计划还应显示bc是相同。

def biggest(a,b,c):
    if a>b and a>c :
        print("Biggest Number=",a)
    elif b>a and b>c:
        print("Biggest Number=",b)
    elif a==b:
        print("a=b") 
    elif a==c: 
         print("a=c")
    elif b==c:
        print("b=c")
    else:
        print("Biggest Number=",c)    
biggest(2,8,8)

5 个答案:

答案 0 :(得分:4)

可以使用 args 来完成。 Args允许我们将可变数量的参数传递给函数。 例如

print( max( *[ 1, 10, 3] ) )

有用的链接: -
1. http://thepythonguru.com/python-args-and-kwargs/

答案 1 :(得分:1)

如果您想坚持代码的工作方式以及您如何描述它,只需更改所有" elif"对新ifs的陈述。这使得您可以检查所有条件,而不是在它找到可以解决的条件后立即中止。

def biggest(a,b,c):
    if a>b and a>c :
        print("Biggest Number=",a)
    if b>a and b>c:
        print("Biggest Number=",b)
    if a==b:
        print("a=b") 
    if a==c: 
         print("a=c")
    if b==c:
        print("b=c")
    if a<b and a<c:
      print("Biggest Number=",c)  
biggest(8,1,1)

这可能会更干净,更好,但这是你学习的工作。快乐的编码

答案 2 :(得分:1)

使用大量if / elif / else会导致难以阅读和维护您的代码。我建议你一个更好的解决方案,通过评论,你可以理解它:

def biggest(a, b, c):
    # Define a dictionary d with strings 'a','b','c' as keys to associate with values
    d = {'a': a, 'b': b, 'c': c}
    # Find the maximum value
    maxValue = max(d.values())
    # Gather all keys corresponding to max value into list
    maxLetters = [k for k,v in d.items() if v == maxValue]
    # Format and print the result
    print("Biggest number is ", maxValue, " (", "=".join(maxLetters), ")", sep="")

biggest(1,2,3)  # Biggest number is 3 (c)
biggest(1,2,2)  # Biggest number is 2 (b=c)
biggest(2,2,2)  # Biggest number is 2 (a=b=c)

答案 3 :(得分:0)

def biggest(a,b,c):
if a>b and a>c :
    print("Biggest Number=",a)
elif b>a and b>c:
    print("Biggest Number=",b)
else:
    print("Biggest Number=",c)

if a==b:
        print("a=b") 

if a==c: 
        print("a=c")
if b==c:
        print("b=c")
if a==b==c:
    print("a=b=c")

biggest(2,5,8)
biggest(2,8,8)
biggest(8,8,8)

适用于比较,最大和相等的数字。

答案 4 :(得分:0)

如果我错了,请更正我,但似乎-即使没有明确说明-该问题的重点是编写一个函数,以便使用 查找三个数字中的最大数字。 max()内置函数。 可以通过以下方式完成:

def biggest(x,y,z):
    if x>=y and x>=z:
        print(x)
    elif y>x and y>z:
        print(y)
    else:
        print(z)

快乐编码:)