Ваш код будет запускаться несколько раз под разными входами, поэтому ваш код должен адаптироваться, чтобы можно было читать различные входы.Чтобы достичь этого, вы должны прочитать, откуда поступает ввод: stdin
(стандартный ввод)
В Python вы можете использовать input()
для чтения из stdin
и затем передать эти значенияв ваш restore_numbers(w,x,y,z)
Однако все эти числа находятся на одной строке на входе (например, 3 6 5 4
), так что вы можете создать map
, который содержит int
и получить входные данные из одной строкии используйте split()
для разделения чисел, используя разделитель по умолчанию (пробел).Затем вы передаете его в list
и получаете доступ к каждому номеру индивидуально для перехода в функцию restore_numbers(w,x,y,z)
.
Одним из решений будет:
#a+b = w
#a+c = x
#b+c = y
#a+b+c = z
def restore_numbers(w,x,y,z):
biggest = max(w,y,z,x)
if biggest - w > 0:
num = biggest-w
else:
num = biggest
if biggest - x > 0:
num1 = biggest-x
else:
num1 = biggest
if biggest -y > 0:
num2 = biggest-y
else:
num2 = biggest
if biggest - z > 0:
num3 = biggest-z
else:
num3 = biggest-z
arr = [num,num1,num2,num3]
arr.sort()
arr = arr[0:3]
s = [str(i) for i in arr]
res = (" ".join(s))
return res
nums = list(map(int, input().split()))
print(restore_numbers(nums[0],nums[1],nums[2],nums[3]))
Теперь код можно запуститьнесколько раз на разных входах.