Инструменты пользователя

Инструменты сайта


learning:py

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
learning:py [13.06.2025 07:42] – [Некоторые функции] viacheslavlearning:py [19.06.2025 09:47] (текущий) – [Круговая диаграмма] viacheslav
Строка 1331: Строка 1331:
 print(min(numbers)) # 5 print(min(numbers)) # 5
 print(max(numbers)) # 69 print(max(numbers)) # 69
 +
 +# Двумерный список
 +names = [["Вася","Петя"],["Оля","Маша"]]
 +print(names[1][0]) # Оля
 </code> </code>
  
Строка 1395: Строка 1399:
 names = ["Вася","Петя","Оля"] names = ["Вася","Петя","Оля"]
 names_length = [len(i) for i in names] names_length = [len(i) for i in names]
 +
 +# Проверка условия перед включением в список
 +numbers = [2,4,6,8,10]
 +numbers2 = []
 +for i in numbers:
 +  if i >= 5:
 +    numbers2.append(i)
 +# Вариант 2
 +numbers2 = [i for i in numbers if i >= 5]
 +# Ещё пример
 +short_names = [name for name in names if len(name) < 6]
 +</code>
 +
 +==== Кортеж ====
 +Тот же список, но который невозможно изменить. Их смысл заключается с большем быстродействии (например, когда нужно обработать большой объём данных, который не будет изменяться) и в каком-то смысле большей безопасности, т. к. можно быть уверенным, что содержимое кортежа не будет изменено в программе. Также, в Питоне существуют операции, которые требуют применения кортежа.
 +
 +Кортежи поддерживают те же методы, что и списки, кроме тех, которые изменяют содержимое. Поддерживаются:
 +  * Доступ к элементам по индексам (для получения их значений)
 +  * Методы, например, ''index()''
 +  * Встроенные функции, например, ''len'', ''min'', ''max''
 +  * Выражения среза
 +  * Оператор ''in''
 +  * Операторы + и *
 +Кортежи не поддерживают методы ''append()'', ''remove()'', ''insert()'', ''reverse()'' и ''sort()''.
 +<code python>
 +# Создать кортеж
 +my_tuple = (1,2,3,4,5)
 +# Последовательно отобразить элементы
 +for i in my_tuple:
 +  print(i)
 +
 +# Создать кортеж с одним элементом (нужна запятая после значения, иначе создастся просто целочисленное значение)
 +my_tuple = (1,)
 +
 +# Преобразование кортежа в список и наоборот
 +my_list = list(my_tuple)
 +my_tuple = tuple(my_list)
 +
 +</code>
 +
 +==== График ====
 +<code bash>
 +# Установка доп. компонента (Windows)
 +pip install matplotlib
 +# Linux
 +sudo pip3 install matplotlib
 +</code>
 +
 +{{ .:pasted:20250614-200918.png?500}}
 +<code python>
 +# Импорт с алиасом, чтобы писать plt вместо matplotlib.pyplot
 +import matplotlib.pyplot as plt
 +
 +# Задание координат
 +x = [0,1,2,3,4, 5, 6,7]
 +y = [0,3,1,5,2,-1,-1,1]
 +# Нарисовать график с метками точек в виде ромба
 +plt.plot(x,y,marker='D')
 +# Если передать параметр маркера как позиционный,
 +# то будут нарисованы только маркеры без линий
 +# plt.plot(x,y,'D')
 +# Надписи
 +plt.title("Рельеф местности")
 +plt.xlabel("Ширина")
 +plt.ylabel("Высота")
 +# Границы осей
 +plt.xlim(xmin=-1, xmax=10)
 +plt.ylim(ymin=-1, ymax=6)
 +# Подписи делений
 +plt.xticks([1,3], ['Пик 1','Пик 2'])
 +plt.yticks([-1,0], ['Дно','Уровень моря'])
 +# Отображать сетку
 +plt.grid(True)
 +plt.show()
 +</code>
 +
 +==== Гистограмма ====
 +{{ .:pasted:20250616-203624.png?450}}
 +<code python>
 +import matplotlib.pyplot as plt
 +# Задание координат
 +x = [0,10,20,30,40]
 +y = [100,200,300,400,500]
 +# Ширина столбика (по умолчанию 0.8)
 +width = 10
 +# Нарисовать, задать цвета
 +plt.bar(x,y,width,color=('r','g','b','m','k'))
 +plt.title('Продажи по годам')
 +plt.xlabel('Год')
 +plt.ylabel('Объём продаж')
 +plt.xticks([5,15,25,35,45],['2016','2017','2018','2019','2020'])
 +plt.yticks([0,100,200,300,400,500],['0', '1 млн','2 млн','3 млн','4 млн','5 млн'])
 +plt.show()
 +</code>
 +
 +==== Круговая диаграмма ====
 +{{ .:pasted:20250619-094427.png?400}}
 +<code python>
 +import matplotlib.pyplot as plt
 +sales = [100,400,300,600]
 +labels = ['I квартал','II квартал','III квартал','IV квартал']
 +plt.pie(sales, labels=labels, colors=('r','g','b','m'))
 +plt.title('Продажи поквартально')
 +plt.show()
 </code> </code>
  
  
-стр 400 (pdf 425)+стр 427 (pdf 452)
 ====== Проблемы и их решение ====== ====== Проблемы и их решение ======
  
learning/py.1749800532.txt.gz · Последнее изменение: viacheslav

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki