print(max([3+2, 5*2, 30/3])) # 10
«Почему максимум здесь 10? Почему поплавок ниже, чем INT в одинаковых значениях? Есть ли правило? Спасибо!» – Альбрехт
Этот отличный вопрос указывает на главную проблему этой головоломки. Рассмотрим содержание вышеуказанного списка [3 + 2, 5 * 2, 30/3]
:
print([3+2, 5*2, 30/3]) # [5, 10, 10.0]
Вы можете видеть, что список содержит два значения, которые, как ожидается, будут математически идентичными 10 и 10,0. Так какой здесь максимум?
Ответ как глубокий, так и простой. Макс
Функция возвращает первый максимум найден, как показано в следующем примере:
print(max([5, 10, 10.0])) # 10 print(max([5, 10.0, 10])) # 10.0
Это просто возвращает наибольшее значение в итерателе.
Обратите внимание, что многие современные кодеры беспокоятся о том, что мы не можем сравнить int с float из-за ограниченной точки с плавающей точкой, потому что они знают следующий пример:
print(0.3+0.3+0.3 == 0.9) # False print(0.3+0.3+0.3) # 0.8999999999999999
Это не проблема при сравнении целых чисел с «целочисленными» поплавкам. Python Float может отлично представлять целые числа. Проверьте следующее «Доказательство примера»: 😉
problems = 0 for i in range(10000000): if i != float(i): problems += 1 print(problems) # 0
Вы можете увидеть, что нет проблем с целочисленными поплавками.
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.