如果3个值不能是不同的值,则找到最大值,最小值和中间值

这是我的代码段,其中涉及到如果这三个值都可以是不同的值,则找到最大值,最小值和中间值。如果其中一些值可以相同怎么办?如何找到最大值,最小值和中间值?

num1 = int(input("Enter 1. number : "))
num2 = int(input("Enter 2. number : "))
num3 = int(input("Enter 3. number : "))

print("Numbers\n1.number : {}\n2.number : {}\n3.number : {}".format(num1,num2,num3))

def thebiggest(num1,num3):
    if (num1 >= num2) and (num1 >= num3):
        largest_num = num1
    elif (num2 >= num1) and (num2 >= num3):
        largest_num = num2
    else:
        largest_num = num3

    print("The largest number : ",largest_num)

def thesmallest(num1,num3):
    if (num1 <= num2) and (num1 <= num3):
        smallest_num = num1
    elif (num2 <= num1) and (num2 <= num3):
        smallest_num = num2
    else:
        smallest_num = num3
    print("The smallest value : ",smallest_num)


def middle(num1,num3):
    if (num1 <= num2 and num2 <= num3):
        middle_value = num2
    elif (num2 <= num1 and num1<= num3):
        middle_value = num3
    else:    
        middle_value = num1

    print("Middle value : ",middle_value)


thebiggest(num1,num3)
thesmallest(num1,num3)
middle(num1,num3)
bb09009 回答:如果3个值不能是不同的值,则找到最大值,最小值和中间值

将数字放在列表中将使您受益匪浅。在这种情况下,您只有3个值,并且可以为每个值存储一个变量,但可以想象有数百个数字。

如果放置在数组中,则可以使用内置方法轻松解决此任务,即max(list)min(list)。我猜没有一个内置的方法可以找到中值,因此您可以简单地对列表进行排序并在索引1处获取该值。

您也可以使用f字符串使代码更紧凑,更简洁。

这是编写代码的一种可能方法:

nums = []

for i in range(3):
    nums.append(int(input(f"Enter {i+1}. number : ")))

print(f"Numbers\n1.number : {nums[0]}\n2.number : {nums[1]}\n3.number : {nums[2]}")

sorted_nums = sorted(nums)

print (f"The largest number : {sorted_nums[2]}")
print (f"The smallest value : {sorted_nums[0]}")
print (f"Middle value : {sorted_nums[1]}")
本文链接:https://www.f2er.com/3139300.html

大家都在问