Python — стабильный и распространённый язык. Он используется во многих проектах и в различных качествах: как основной язык программирования или для создания расширений и интеграции приложений. На Python реализовано большое количество проектов, также он активно используется для создания прототипов будущих программ. Python используется во многих крупных компаниях[102]: Dropbox, Google (например некоторые части Youtube и Youtube API написаны на Python[103]), Facebook[104], Instagram[105].
Python с пакетами NumPy, SciPy и MatPlotLib активно используется как универсальная среда для научных расчётов в качестве замены распространённым специализированным коммерческим пакетам Matlab, IDL и другим. Библиотека Astropy — популярный инструмент для астрономических расчётов.
Сочетание простоты и лаконичности с возможностью использования сложных абстракций и мощных разнообразных инструментов делает Python удобным в качестве скриптового языка. Возможность его встраивания ограничивается объёмом интерпретатора, но в крупных системах это ограничение несущественно. В профессиональных программах трёхмерной графики, таких как Autodesk Maya, Blender, Houdini и Nuke, Python используется для расширения стандартных возможностей программ[106][107]. В Microsoft Power BI Desktop Python, наряду со встроенными языками запросов и языком программирования R, может использоваться на этапе загрузки данных в ETL-процессах, расчётах и графической визуализации данных[108][109].
Также Python подходит для выполнения нестандартных или сложных задач в системах сборки проектов, что обусловлено отсутствием необходимости предварительной компиляции исходных файлов. В проекте Google Test он используется для генерации исходного кода mock-объектов для классов языка C++[110].
Интерпретатор Python может использоваться в качестве мощной командной оболочки и скриптового языка для написания командных файлов ОС. Лёгкость обращения из Python-скриптов к внешним программам и наличие библиотек, дающих доступ к управлению системой, делают Python удобным инструментом для системного администрирования.[111] Он широко используется для этой цели на платформе Linux: обычно Python поставляется с системой, во многих дистрибутивах инсталляторы и визуальный интерфейс системных утилит написаны именно на Python. Используется он и в администрировании других Unix-систем, в частности, в Solaris и macOS.[111] Кросс-платформенность самого языка и библиотек делает его привлекательным для унифицированной автоматизации задач системного администрирования в гетерогенных средах, где совместно применяются компьютеры с операционными системами различных типов.
n, m = 3, 3
bounty = [4, 2, 1]
coins = 0
# Игра установлена
queue = [(0, 0, 0)]
while queue:
score, k, day = queue.pop(0)
# Дни перед турниром
day += 1
if day > m:
# Наступил день турнира
coins = max(coins, score)
else:
# Еще есть время собирать монеты
# Пропустим этот день
queue.append((score, 0, day))
k += 1
# А лучше соберем награду
score += bounty[(k - 1) % n]
queue.append((score, k, day))
print(coins) # 8
def get_val(data, query):
main_key, index, sub_key = query.split('.')
if index == '*':
return [item[sub_key] for item in data[main_key]]
else:
return data[main_key][int(index)][sub_key]
data = {
"some_list": [
{"key1": "some_value1", "key2": "some_value2" },
{"key1": "some_value1", "key2": "some_value2" },
{"key1": "some_value1", "key2": "some_value2" },
{"key1": "some_value1", "key2": "some_value2" },
]
}
print(get_val(data, 'some_list.*.key1'))
print(get_val(data, 'some_list.0.key1'))
k = 3
s = 'ШКОЛА'
print(''.join(s[k:] + s[:k])[::-1]) # ОКШАЛ
# возможно стоит еще добавить такое, если k будет больше чем длина строки
print(''.join(s[k % len(s):] + s[:k % len(s)])[::-1]) # ОКШАЛ
k
, зачем в коде ее заменять на a
?b=str(input()).upper()
- зачем переводить в верхний регистр? class Rectangle(object):
def __init__(self, x, y, w, h):
self.x1 = x
self.x2 = x + w
self.y1 = y
self.y2 = y + h
def is_involved(self, other):
if all([other.x1 <= self.x1,
other.y1 <= self.y1,
other.x2 >= self.x2,
other.y2 >= self.y2]):
return True
return False
def is_intersected(self, other):
if any([all([other.x1 <= self.x1 <= other.x2, other.y1 <= self.y1 <= other.y2]),
all([other.x1 <= self.x2 <= other.x2, other.y1 <= self.y1 <= other.y2]),
all([other.x1 <= self.x1 <= other.x2, other.y1 <= self.y2 <= other.y2]),
all([other.x1 <= self.x2 <= other.x2, other.y1 <= self.y2 <= other.y2])]):
return True
return False
print("Rectangle 1:")
rect1 = Rectangle(int(input("x = ")), int(input("y = ")), int(input("width = ")), int(input("height = ")))
print()
print("Rectangle 2:")
rect2 = Rectangle(int(input("x = ")), int(input("y = ")), int(input("width = ")), int(input("height = ")))
print()
print('а) Принадлежат ли все точки первого прямоугольника второму:')
print(rect2.is_involved(rect1))
print('б) Принадлежат ли все точки одного из прямоугольников другому:')
print(rect2.is_involved(rect1) or rect1.is_involved(rect2))
print('в)* Пересекаются ли эти прямоугольники:')
print(rect2.is_intersected(rect1) or rect1.is_intersected(rect2))
ld
желательно объявлять перед циклом.print
неправильный отступ.input_value = int(input())
max_number = 0
while (input_value > 0):
current_number = input_value % 10
if (max_number < current_number):
max_number = current_number
input_value //= 10
print(max_number)
В языке Python выражения также могут использоваться в качестве ин струкций (т. е. в отдельной строке). Однако, поскольку результат вы числения таких выражений не сохраняется, использовать такую воз можность имеет смысл только в том случае, если выражение выполня ет какие то полезные действия в виде побочного эффекта. В качестве инструкций выражения используются обычно в двух ситуациях:
Для вызова функций и методов
Некоторые функции и методы выполняют огромный объем работы, не возвращая никакого значения. В других языках программирова ния такие функции иногда называют процедурами. Поскольку они не возвращают значений, которые могло бы потребоваться сохра нить, вы можете вызывать эти функции в инструкциях выражений.
Для вывода значений в интерактивной оболоске
В ходе интерактивного сеанса интерпретатор автоматически выво дит результаты вводимых выражений. С технической точки зрения они также являются инструкциями выражений и играют роль со кращенной версии инструкции print.