# Write your max_num function here:

def max_num(num1, num2, num3):

``````   biggest_number = max(num1, num2, num3)

return biggest_number
``````

# Uncomment these function calls to test your max_num function:

print(max_num(-10, 0, 10))

# should print 10

print(max_num(-10, 5, -30))

# should print 5

print(max_num(-5, -10, -10))

# should print -5

print(max_num(2, 3, 3))

# should print “It’s a tie!”

You can modify the `max_num` function to check if `num1` , `num2` , and `num3` are all equal, and return the string “It’s a tie!” if they are:

``````def max_num(num1, num2, num3):
if num1 == num2 == num3:
return "It's a tie!"
else:
biggest_number = max(num1, num2, num3)
return biggest_number
``````

Then you can uncomment the `print` statement for `print(max_num(2, 3, 3))` , and it should print “It’s a tie!” when `num1` , `num2` , and `num3` are all equal.

1 Like

is there a way i can make this so that it also returns ‘it’s a tie’ if there are two biggest numbers?

``````def max_num(num1, num2, num3):
if num1 == num2 == num3:
return "It's a tie!"
elif num1 == num2 or num1 == num3 or num2 == num3:
return "It's a tie!"
else:
biggest_number = max(num1, num2, num3)
return biggest_number

``````

You can modify the `max_num` function to also return “It’s a tie!” if there are two or three biggest numbers. That way, if the numbers are all equal or two of them are equal, it will say “It’s a tie!” instead of showing one of the numbers as the biggest.

So, you can add an `elif` statement that checks if any two numbers are equal, and return “It’s a tie!” in that case. Otherwise, the function still returns the biggest number as before.

This modification makes the function more flexible and accounts for more scenarios. So, if you want to make sure the function handles ties properly, you can use this modified version.

let me know if this helps

What happens if you try:

``````print(max_num(1, 1, 5))
``````

You only want to print “It’s a tie!” if the largest number appears more than once.

1 Like

There are many ways to accomplish this task. You could try using the `.count()` method. Give it a shot.

I tried this, but it requires it to be a list, but when i change it to be a list it comes with more issues

Post the code that you tried.

i removed it unfortunately. but i’m trying another thing just now will get back to you

edit: i have got it to work, thanks for everyone’s help!

1 Like

If you care to share your solution, you may receive some valuable feedback, but you’re under no obligation. Happy coding!

1 Like

Here was my solution

def max_num(num1, num2, num3):
values_amount = [num1, num2, num3]
amount_of_biggests = values_amount.count(max(num1, num2, num3))

if amount_of_biggests >=2:
return “It’s a tie!”
elif amount_of_biggests ==1:
return max(num1, num2, num3)

(it wont let me put in the indentations)

As for your code, good job getting the result you were after. You may want to consider a few things.
First, how can you DRY your code? (Don’t Repeat Yourself) You call the `.max()` method twice. Is there a way to only call it once?
Second, do you need the `elif` statement? When there are only 2 options, and the first condition isn’t met, we can simply execute the second option without testing the only other possible condition. For example:

``````def odd_or_even(num):
if num % 2 == 0:
return "Even"
return "Odd" # Default return if the number isn't even
``````
1 Like