Конкатекация строк
Вывод:
python
Если нужно конкатенировать список строк, сделать это можно в цикле for, по одной добавляя строки к итоговому результату. Однако такой подход будет весьма неэффективным, особенно в том случае, если список оказывается достаточно длинным.
Более эффективное решение этой задачи заключается в использовании функции join()
#обучение
letters = ['p', 'y', 't', 'h', 'o', 'n']
word = "".join(letters)
print(word)
Вывод:
python
Если нужно конкатенировать список строк, сделать это можно в цикле for, по одной добавляя строки к итоговому результату. Однако такой подход будет весьма неэффективным, особенно в том случае, если список оказывается достаточно длинным.
Более эффективное решение этой задачи заключается в использовании функции join()
#обучение
👍2 1
This media is not supported in your browser
VIEW IN TELEGRAM
TheGamifAI — нейронка, которая может заменить целую команду гейм разработчиков.
В сервисе получится сгенерить не только базовые механики игры, но и подогнать под них сеттинг и персонажей. А с сюжеткой от ChatGPT можно получить полноценную, интересную, но бюджетную игру.
#сервис
В сервисе получится сгенерить не только базовые механики игры, но и подогнать под них сеттинг и персонажей. А с сюжеткой от ChatGPT можно получить полноценную, интересную, но бюджетную игру.
#сервис
🔥2 1
Скрипт простого поисковика файлов на вашем пк
#скрипт
import os
B file_name = input('Введите название искомово файла:')
for root, dirs, files in os.walk('/'):
if file_name in files:
file_path = os.path.join(root,file_name)
print(f'Файл найден {file_path}')
break
else:
print('Файл не найден :(')
#скрипт
👍2 2
Оператор «+» для конкатенации
«+» — простой и понятный для новичков оператор, но он не всегда является самым эффективным решением для конкатенации. Чем больше строк вам нужно соединить в одну, тем больше плюсов придётся добавить, а это засоряет код. Поэтому для конкатенации лучше всего использовать f-строки.
#обучение
«+» — простой и понятный для новичков оператор, но он не всегда является самым эффективным решением для конкатенации. Чем больше строк вам нужно соединить в одну, тем больше плюсов придётся добавить, а это засоряет код. Поэтому для конкатенации лучше всего использовать f-строки.
#неудобно
name = input("your name:")
print("Welcome, " + name + "!"
#удобно
name = input("your name:")
print(f'Welcome, {name}!')
#обучение
👍1🔥1 1
Как отформатировать многострочный вывод
Чтобы вывод напоминал аккуратную табличку, то при использовании F-строк добавьте интерполируемой переменной двоеточие и число, одинаковое для всех print(), например, 10. Это резервирует пространство из 10 символов
#обучение
Чтобы вывод напоминал аккуратную табличку, то при использовании F-строк добавьте интерполируемой переменной двоеточие и число, одинаковое для всех print(), например, 10. Это резервирует пространство из 10 символов
name1 = 'Александр'
name2 = 'Иван'
print(f'{name1:10}: заказчик')
print(f'{name2:10}: исполнитель')
#обучение
👍2 1
Злоупотребление импортом
Начинающие разработчики часто импортируют все имена из модулей.
Так делать не стоит, потому что модуль может содержать большое количество объектов, и импорт всего списка замедлит работу программы.
#обучение
Начинающие разработчики часто импортируют все имена из модулей.
Так делать не стоит, потому что модуль может содержать большое количество объектов, и импорт всего списка замедлит работу программы.
#можно
from math import pi
print(pi)
#нельзя
import math
print(pi)
#обучение
👨💻2 2
random.choice
random.choice — это функция из модуля random, которая позволяет выбрать случайный элемент из последовательности, такой как список, кортеж или строка. Если же передать пустую последовательность, функция вызовет ошибку IndexError.
#обучение
import random
list = (10, 20, 30, 40, 50)
random_element = random.choice(list)
print(random_element)
random.choice — это функция из модуля random, которая позволяет выбрать случайный элемент из последовательности, такой как список, кортеж или строка. Если же передать пустую последовательность, функция вызовет ошибку IndexError.
#обучение
🔥2 2
list.pop
Метод pop() используется для удаления и возврата элемента из списка. По умолчанию удаляется и возвращается последний элемент списка, но можно также указать индекс элемента, который нужно удалить и вернуть. Если список пуст, pop() вызовет исключение IndexError.
#обучение
list = [1, 2, 3, 4, 5]
elem = list.pop(2)
print(elem)
print(list)
Метод pop() используется для удаления и возврата элемента из списка. По умолчанию удаляется и возвращается последний элемент списка, но можно также указать индекс элемента, который нужно удалить и вернуть. Если список пуст, pop() вызовет исключение IndexError.
#обучение
👍2 2
Использование itertools для создания комбинаций
Модуль itertools в Python предоставляет множество функций для работы с итераторами, позволяя эффективно создавать и манипулировать последовательностями. Одной из полезных функций этого модуля является itertools.combinations, которая позволяет легко создавать все возможные комбинации элементов из списка заданной длины.
#обучение
Использование функции itertools.combinations позволяет легко и эффективно создавать комбинации элементов из списка, упрощая решение задач, связанных с комбинаторикой и анализом данных.
import itertools
items = ['A', 'B', 'C', 'D']
combinations = list(itertools.combinations(items, 3))
print(combinations)
Модуль itertools в Python предоставляет множество функций для работы с итераторами, позволяя эффективно создавать и манипулировать последовательностями. Одной из полезных функций этого модуля является itertools.combinations, которая позволяет легко создавать все возможные комбинации элементов из списка заданной длины.
#обучение
Использование функции itertools.combinations позволяет легко и эффективно создавать комбинации элементов из списка, упрощая решение задач, связанных с комбинаторикой и анализом данных.
👍2 2
Библиотека Progressbar
Думали ли вы когда-нибудь над полоской прогресса? Иногда бывает полезно добавить в код отображение прогресса, чтобы пользователь не беспокоился, что программа не отвечает.
В первую очередь это касается синхронных приложений. Ведь, если наш код выполняет что-то одно, то на другие действия он не будет реагировать, ставя их в очередь. Ну и еще один вариант показывать, что программа не виснет, а думает, при этом не обязательно показывать прогресс.
Все это очень интересно, но если мы начнем самостоятельно писать полосу прогресса, то отвлечемся от основного кода. К счастью, в python есть библиотека Progressbar, которая делает все за нас.
#обучение
from progressbar import ProgressBar
import time
pbar = ProgressBar(maxval=5)
pbar.start()
for i in range(4):
pbar.update(i)
time.sleep(1)
pbar.finish()
Думали ли вы когда-нибудь над полоской прогресса? Иногда бывает полезно добавить в код отображение прогресса, чтобы пользователь не беспокоился, что программа не отвечает.
В первую очередь это касается синхронных приложений. Ведь, если наш код выполняет что-то одно, то на другие действия он не будет реагировать, ставя их в очередь. Ну и еще один вариант показывать, что программа не виснет, а думает, при этом не обязательно показывать прогресс.
Все это очень интересно, но если мы начнем самостоятельно писать полосу прогресса, то отвлечемся от основного кода. К счастью, в python есть библиотека Progressbar, которая делает все за нас.
#обучение
👍2 2
Задаем ширину текста
Метод fill() модуля textwrap разбивает text по строкам так, что каждая строка имеет не более width(в нашем случае 24) символов длиной.
Метод возвращает одну строку, содержащую заключенный абзац.
#обучение
import textwrap
text = 'apple orange banana lemon mango grapefruit watermelon kiwi'
print(textwrap.fill(text, width = 24))
Метод fill() модуля textwrap разбивает text по строкам так, что каждая строка имеет не более width(в нашем случае 24) символов длиной.
Метод возвращает одну строку, содержащую заключенный абзац.
#обучение
🔥3 3❤2👍1
statistics.median
Функция median из модуля statistics используется для вычисления медианы списка чисел. Медиана — это элемент, который делит упорядоченный список пополам. Если список имеет нечетное количество элементов, то медиана — это значение в середине списка. Если список имеет четное количество элементов, то медиана — это среднее значение двух центральных элементов.🖥
#обучение
import statistics
data = [1, 3, 5, 7, 9]
madian = statistics.median(data)
print(f"Медиана: {median}")
Функция median из модуля statistics используется для вычисления медианы списка чисел. Медиана — это элемент, который делит упорядоченный список пополам. Если список имеет нечетное количество элементов, то медиана — это значение в середине списка. Если список имеет четное количество элементов, то медиана — это среднее значение двух центральных элементов.
#обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👨💻2 2👍1
list.extend
Метод extend() используется для добавления всех элементов из итерируемого объекта (например, списка, кортежа или строки) в конец другого списка. Этот метод позволяет объединить два списка или добавить несколько элементов в один список за один вызов.
#обучение
list = [1, 2, 3]
list.extend([4, 5, 6])
print(list)
# [1, 2, 3, 4, 5, 6]
list = [1, 2, 3]
for i in range(4, 7):
list.extend([i])
print(list)
# [1, 2, 3, 4, 5, 6]
Метод extend() используется для добавления всех элементов из итерируемого объекта (например, списка, кортежа или строки) в конец другого списка. Этот метод позволяет объединить два списка или добавить несколько элементов в один список за один вызов.
#обучение
🔥3👨💻2 2👍1
Обрезаем фотографии с помощью Python
Pillow также может использоваться для обрезки изображения, при этом вы можете получить производный прямоугольник выбранного изображения, указав координаты, по которым преобразовать изображение.
Координаты обрезанной поверхности представлены диагональными координатами. При этом первые две точки находятся (x, y) от верхней левой диагональной точки, а следующие две точки (x2, y2) также являются диагональной точкой снизу справа.
#обучение
from PIL import Image
pict = Image.open('my_photo.jpg')
cord = (200, 200, 2000, 2000) #лево, верх, право, низ
new_pict = pict.crop(cord)
new_pict.show()
Pillow также может использоваться для обрезки изображения, при этом вы можете получить производный прямоугольник выбранного изображения, указав координаты, по которым преобразовать изображение.
Координаты обрезанной поверхности представлены диагональными координатами. При этом первые две точки находятся (x, y) от верхней левой диагональной точки, а следующие две точки (x2, y2) также являются диагональной точкой снизу справа.
#обучение
👍2❤1👨💻1 1
Как_устроен_Python_Гид_для_разработчиков,_программистов_и_интересующихся.pdf
5.4 MB
Python в моде! Это самый популярный язык программирования. Вакансии для Python-разработчиков входят в список самых высокооплачиваемых, а благодаря бурному развитию обработки данных, знание Python становится одним из самых востребованных навыков в среде аналитиков. Python – невероятный язык, популярный во многих областях. Он используется для автоматизации простых и сложных задач, цифровой обработки, веб-разработки, игр… Независимо от того, перешли ли вы на Python с другого языка, руководите группой программистов, работающих на Python, или хотите расширить свое понимание, имеет смысл подойти к изучению Python со всей серьезностью. Готовы начать карьеру питониста? Не теряйте времени на поиск информации, перелопачивая блоги и сайты, списки рассылок и группы. Приобщитесь к передовому опыту и узнайте секреты внутренней кухни Python, доступные только профи, работающим с этим языком на протяжении многих лет.
PythonDev
#книга
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1👨💻1 1
Pyomo_Моделирование_оптимизации_на_Python_2023_Бинум,_Хакебейл,.pdf
5.9 MB
Книга содержит полное руководство по Pyomo (Python Optimization Modeling Objects) — пакету с открытым исходным кодом, предназначенному для формулирования и решения крупномасштабных задач оптимизации. Pyomo включает классы Python для определения разреженных множеств, параметров и переменных, с помощью которых записываются алгебраические выражения, определяющие целевые функции и ограничения. Кроме того, программу можно использовать как из командной строки, так и из интерактивного окружения Python, что сильно упрощает создание моделей Pyomo, применение различных оптимизаторов и изучение решений. Благодаря многочисленным примерам, иллюстрирующим различные способы формулирования моделей, книга прекрасно раскрывает широту средств моделирования, поддерживаемых Pyomo, и ее подходы к сложным практическим приложениям.
PythonDev
#книга
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👨💻1 1
math.gcd
Функция math.gcd используется для нахождения наибольшего общего делителя (НОД) двух чисел. Наибольший общий делитель (НОД) двух чисел — это наибольшее число, на которое оба числа делятся без остатка. В первом примере НОД чисел 48 и 18 равен 6, потому что 6 является наибольшим числом, которое делит и 48, и 18 нацело.
PythonDev
#обучение
import math
a = 48
b = 18
#НОД для 48 и 18
result = math.gcd(a, b)
print(result) #6
Функция math.gcd используется для нахождения наибольшего общего делителя (НОД) двух чисел. Наибольший общий делитель (НОД) двух чисел — это наибольшее число, на которое оба числа делятся без остатка. В первом примере НОД чисел 48 и 18 равен 6, потому что 6 является наибольшим числом, которое делит и 48, и 18 нацело.
PythonDev
#обучение
👍3👨💻2 1
Генератор паролей
Ниже представлен генератор паролей на Python, который позволяет выбрать тип пароля, включая спецсимволы и заглавные буквы.
Как использовать:
1.Запустите скрипт
2.Выберите тип пароля, введя соответствующий номер.
3.Выберите, использовать ли заглавные буквы и спецсимволы.
4.Введите длину пароля.
5.Скрипт сгенерирует и выведет пароль указанного типа и длины.
Данный генератор паролей использует модуль random для генерации случайных символов. Типы паролей: цифровой (только цифры), буквенный (только буквы), смешанный (цифры, буквы и спецсимволы). Длина пароля должна быть целым положительным числом.
PythonDev
#скрипт
Ниже представлен генератор паролей на Python, который позволяет выбрать тип пароля, включая спецсимволы и заглавные буквы.
import random
import string
def generate_password(password_type, length, use_uppercase, use_special_chars):
if password_type == 'цифровой':
chars = string.digits
elif password_type == 'буквенный':
chars = string.ascii_lowercase
if use_uppercase:
chars += string.ascii_uppercase
elif password_type == 'смешанный':
chars = string.ascii_lowercase + string.digits
if use_uppercase:
chars += string.ascii_uppercase
if use_special_chars:
chars += string.punctuation
else:
raise ValueError('Недопустимый тип пароля')
password = ''.join(random.choice(chars) for _ in range(length))
return password
def main():
print('Выберите тип пароля:')
print('1. Цифровой')
print('2. Буквенный')
print('3. Смешанный')
choice = input('Введите номер типа пароля: ')
if choice == '1':
password_type = 'цифровой'
elif choice == '2':
password_type = 'буквенный'
elif choice == '3':
password_type = 'смешанный'
else:
print('Недопустимый выбор')
return
use_uppercase = input('Использовать заглавные буквы? (y/n): ').lower() == 'y'
use_special_chars = input('Использовать спецсимволы? (y/n): ').lower() == 'y'
length = int(input('Введите длину пароля: '))
password = generate_password(password_type, length, use_uppercase, use_special_chars)
print(f'Сгенерированный пароль: {password}')
if __name__ == '__main__':
main()
Как использовать:
1.Запустите скрипт
2.Выберите тип пароля, введя соответствующий номер.
3.Выберите, использовать ли заглавные буквы и спецсимволы.
4.Введите длину пароля.
5.Скрипт сгенерирует и выведет пароль указанного типа и длины.
Данный генератор паролей использует модуль random для генерации случайных символов. Типы паролей: цифровой (только цифры), буквенный (только буквы), смешанный (цифры, буквы и спецсимволы). Длина пароля должна быть целым положительным числом.
PythonDev
#скрипт
👍3 2👨💻1
Крестики-Нолики с ботом
Простой код игры Крестики-Нолики на двоих
PythonDev
Сотрудничество - @mistcoder
➡️ Донат
#скрипт
maps = [1, 2, 3,
4, 5, 6,
7, 8, 9]
victories = [[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[0, 3, 6],
[1, 4, 7],
[2, 5, 8],
[0, 4, 8],
[2, 4, 6]]
def print_maps():
print(maps[0], end=" ")
print(maps[1], end=" ")
print(maps[2])
print(maps[3], end=" ")
print(maps[4], end=" ")
print(maps[5])
print(maps[6], end=" ")
print(maps[7], end=" ")
print(maps[8])
def step_maps(step, symbol):
ind = maps.index(step)
maps[ind] = symbol
def get_result():
win = ""
for i in victories:
if maps[i[0]] == "X" and maps[i[1]] == "X" and maps[i[2]] == "X":
win = "X"
if maps[i[0]] == "O" and maps[i[1]] == "O" and maps[i[2]] == "O":
win = "O"
return win
game_over = False
player1 = True
while game_over == False:
print_maps()
if player1 == True:
symbol = "X"
step = int(input("Человек 1, ваш ход: "))
else:
symbol = "O"
step = int(input("Человек 2, ваш ход: "))
step_maps(step, symbol)
win = get_result()
if win != "":
game_over = True
else:
game_over = False
player1 = not (player1)
print_maps()
print("Победил", win)
Простой код игры Крестики-Нолики на двоих
PythonDev
Сотрудничество - @mistcoder
#скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2👨💻1
Простой переводчик с русского на английский язык
В данном примере используется библиотека translate
PythonDev
Сотрудничество - @mistcoder
➡️ Донат
#скрипт
from translate import Translator
translator = Translator(from_lang='Russian', to_lang='English')
result = Translator.translator(input())
print(result)
В данном примере используется библиотека translate
pip install translate
PythonDev
Сотрудничество - @mistcoder
#скрипт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3 3🔥2