Форум сайта python.su
0
Добрый день. Не понимаю почему код не работает должным образом.Разъясните пожалуйста.Заранее спасибо!
def high_and_low(numbers): x = numbers.split() maxi = x[0] for i in range(1, len(x)): # print(x[i] + ' > ' + maxi) if x[i] > maxi: maxi = x[i] # print(maxi) # elif x[i] < mini: # mini = x[i] # numbers = maxi + ' ' + mini # return numbers return maxi print(high_and_low("2396 516 2570 649 2330 248 733 2331 1188 786 -80 1900 1845 2642 -165 279 2613 -187 1227 2423 2882 458"))
Офлайн
0
Сам нашел ответ.В списке хранятся данные типа string. Может кому пригодится.
Офлайн
568
achilles175
Не издевайтесь над языком
def high_and_low(numbers): data = [int(x) for x in numbers.split()] maxi = x[0] for num in data[1:]: if num > maxi: maxi = num return maxi
Офлайн
186
> Не издевайтесь над языком
ну зачем же так усложнять…
>>> s = "2396 516 2570 649 2330 248 733 2331 1188 786 -80 1900 1845 2642 -165 279 2613 -187 1227 2423 2882 458" >>> max(map(int, s.split())) 2882
Отредактировано Rodegast (Май 7, 2019 15:52:05)
Офлайн
568
RodegastКак же я мог забыть про функцию max!!!!
ну зачем же так усложнять…
Офлайн