用Python求三个整数中的最大整数

发布于 2025-01-11 03:08:14 字数 848 浏览 0 评论 0原文

我需要编写一个函数来查找三个输入中的最大值。

例如: 如果输入是:

5
7
9

输出是:

9

例如: 如果输入是:

-17
-8
-2

输出是:

-17
def max_magnitude(user_val1, user_val2, user_val3):
    if (user_val1 >= user_val2) and (user_val1 >= user_val3):
        max = user_val1
        
    elif (user_val2 >= user_val1) and (user_val2 >= user_val3):
        max = user_val2
    
    else:
        max = user_val3
    
    return max    
     
def main():
    user_val1 = int(input())
    user_val2 = int(input())
    user_val3 = int(input())
    
    print(max_magnitude(user_val1, user_val2, user_val3))
    

if __name__ == '__main__':

    main()

输入图像此处描述

I need to write a function to find the maximum value among three inputs.

Ex: If the inputs are:

5
7
9

the output is:

9

Ex: If the inputs are:

-17
-8
-2

the output is:

-17
def max_magnitude(user_val1, user_val2, user_val3):
    if (user_val1 >= user_val2) and (user_val1 >= user_val3):
        max = user_val1
        
    elif (user_val2 >= user_val1) and (user_val2 >= user_val3):
        max = user_val2
    
    else:
        max = user_val3
    
    return max    
     
def main():
    user_val1 = int(input())
    user_val2 = int(input())
    user_val3 = int(input())
    
    print(max_magnitude(user_val1, user_val2, user_val3))
    

if __name__ == '__main__':

    main()

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

痴意少年 2025-01-18 03:08:14

修复

对于每个条件值是最大的添加相反的值是最低的

def max_magnitude(user_val1, user_val2, user_val3):
    if (user_val1 >= user_val2 and user_val1 >= user_val3) or \
            (user_val1 <= user_val2 and user_val1 <= user_val3):
        return user_val1

    elif (user_val2 >= user_val1 and user_val2 >= user_val3) or \
            (user_val2 <= user_val1 and user_val2 <= user_val3):
        return user_val2

    return user_val3

改进

  • 处理任意数量的值
  • 使用*args作为参数,tp使用内置code>max
  • 与键 abs(绝对值)。
def max_magnitude(*args):
    return max(args, key=abs)

max(abs(i) for i in args) 不起作用,因为它会返回答案的绝对值,而不是原始值

Fix

For each condition value is biggest add the opposite value is lowest

def max_magnitude(user_val1, user_val2, user_val3):
    if (user_val1 >= user_val2 and user_val1 >= user_val3) or \
            (user_val1 <= user_val2 and user_val1 <= user_val3):
        return user_val1

    elif (user_val2 >= user_val1 and user_val2 >= user_val3) or \
            (user_val2 <= user_val1 and user_val2 <= user_val3):
        return user_val2

    return user_val3

Improve

  • use *args as parameter, tp handle any amount of values
  • use builtin max
  • with key abs (absolute value).
def max_magnitude(*args):
    return max(args, key=abs)

max(abs(i) for i in args) doesn't work as it would return the absolute value of the answer, not the original value

冷情妓 2025-01-18 03:08:14
  1. 不要使用“max”作为变量名

  2. 使用 max() 作为函数

  3. 只需将函数输入更改为 *args,然后获取 abs()max()元组的代码>:

def max_magnitude(*args): 
    output = max(abs(i) for i in args)
    return output if output in args else -output

测试代码:

def max_magnitude(*args): 
    output = max(abs(i) for i in args)
    return output if output in args else -output

n1 = int(input())
n2 = int(input())
n3 = int(input())

print(max_magnitude(n1, n2, n3))

示例:

#inputs
> 5
> 7
> 9
#outputs
> 9

#inputs
> -2
> -8
> -17
#outputs
> -17
  1. Don't use "max" as a variable name

  2. Do use max() as a function

  3. Just change the function input to *args, then take the max() of the abs() of the tuple:

def max_magnitude(*args): 
    output = max(abs(i) for i in args)
    return output if output in args else -output

Test code:

def max_magnitude(*args): 
    output = max(abs(i) for i in args)
    return output if output in args else -output

n1 = int(input())
n2 = int(input())
n3 = int(input())

print(max_magnitude(n1, n2, n3))

Examples:

#inputs
> 5
> 7
> 9
#outputs
> 9

#inputs
> -2
> -8
> -17
#outputs
> -17
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文