Как узнать, какая переменная имеет наибольшее значение
if A > B and C and D: print("A wins") if B>A and C and D: print("B wins")
Как проверить и посмотреть, какая переменная содержит наибольшее целое из группы? Решив, кто победит?
- проверка python, если функция принимает ** kwargs
- Что определяет время запуска динамического экземпляра и может ли оно меняться между неделями, если код такой же
- Как преобразовать строку, содержащую имя месяца в целое число?
- Beautifulsoup: как я могу разобрать следующий <p.text>?
- urlfetch перенаправлен в бесконечный цикл в python
Вы можете проверить каждый из них:
if A > B and A > C and A > D:
или вы можете просто протестировать максимальное значение трех других:
if A > max(B, C, D):
но кажется, что вы действительно хотите, чтобы выяснить, какой игрок имеет максимальное значение. Вместо этого вы должны хранить свои баллы игроков в словаре:
players = {'A': A, 'B': B, 'C': C, 'D': D}
Теперь гораздо легче узнать, кто победит:
winner = max(players, key=players.get) print(winner, 'wins')
Это возвращает ключ от players
для которых значение является максимальным. Вы можете использовать players
во всем коде, а не везде.
Чтобы сделать это явным: A > B and C and D
никогда не будут работать; логическая логика не работает; каждое выражение проверяется изолированно, поэтому вы получаете A > B
должен быть истинным, а C
должен быть истинным, а D
должен быть истинным. Значения в Python считаются истинными, если они не пустой контейнер, а не числовые 0; если это все целочисленные оценки, C
и D
являются истинными, если они не равны 0
.
Вы можете использовать max()
:
if A > max(B,C,D): print("A wins") elif B > max(A,C,D): print("B wins")
Конечно, есть также функциональный способ программирования:
var_names = ['A', 'B', 'C', 'D'] max_var = max(zip(names, (map(eval, var_names))), key=lambda tuple: tuple[1])[0] print("%s wins!" % max_var)
zip
и map
преобразуют список var_names
в список кортежей типа ('A', A)
, затем он получает кортеж с наивысшим вторым элементом. Из этого кортежа он захватывает имя переменной.
- Запустите сценарий Python на Heroku по расписанию (как отдельное приложение)
- Сохранение и использование векторного вектора TFIDF для будущих примеров, а затем приводит к ошибке с измерением
- Расширение словаря python и изменение значений ключа
- Cython – преобразование указателей на массивы в объекты Python
- Почему del – инструкция, а не метод в python?
- Как указать кодировку в fileinput
- Как сравнить переменные и найти разницу в python
- Как удалить локальную базу данных Google App Engine
- Использование двоичного поиска для проверки орфографии
- Сохранение сеансов Webapp2 на GAE
- Вычисление сверхурочной работы с использованием python