Python

Min\max . Заполнения списка с помощью цикла while.

Тебе дан список целых чисел.
Найди сумму максимального и минимального значений списка.

Формат входных данных
Последовательность целых чисел, каждое на отдельной строчке, оканчивающаяся нулём.

Формат выходных данных
Одно целое число.
входные данные:
-2
-38
6
-93
33
100
-54
10
0
Типа такого, что ли?
 zanud = []
n = int(input())
mn, mx = None, None
while n != 0:
if mn == None or mn > n: mn = n
if mx == None or mx < n: mx = n
zanud.append(n)
n = int(input())
print(mn + mx)
Если не изобретать велосипеды и не пытаться прилепить цикл while туда, где он нужен, как кобыле - пятая нога, то всё делается однопроходным алгоритмом на итераторе со свёрткой:
 from functools import reduce
ns = (int(s) for s in iter(input, '0'))
first = next(ns)
mn, mx = reduce(lambda t, n: (min(t[0], n), max(t[1], n)), ns, (first, first))
print(mn + mx)
Константин Кузнецов
Константин Кузнецов
87 571
Лучший ответ
Если ноль - символ окончания непустой последовательности и в неё не входит, то тогда и никакие списки не нужны вместе с явно левыми здесь функциями, а всё совершенно просто:
 mini = maxi = a = int(input()) 
while a:
a = int(input())
if a > maxi: maxi = a
if a < mini: mini = a
print('mini =', mini, ', maxi =', maxi, ', mini+maxi =', mini + maxi)
С непустым списком, ввод которого заканчивается не входящим в него нулём, и стандартными функциями:
 a = int(input()); A = [a] 
while a: a = int(input()); A.append(a)
del A[len(A) - 1]; print(*A); print(max(A)+min(A))
РЦ
Ринат Царь
66 572