От прочих языков программирования Python отличается простым синтаксисом. Не зря его советуют всем, кто хочет «вкатиться» в разработку: код на питоне легко не только писать, но и читать. Одного только пристального взгляда может быть достаточно, чтобы определить его функцию. Совместно со Skillbox мы предлагаем читателям N + 1 внимательно посмотреть на код программ и попробовать догадаться, для чего они нужны. Заодно мы расскажем о популярных библиотеках Python на любой вкус.
1.
import requests
from bs4 import BeautifulSoup
response = requests.get("https://nplus1.ru", timeout=60)
page = response.text
soup = BeautifulSoup(page, 'html.parser')
headings = [i_h.text for i_h in soup.select("h3")]
for i_heading in headings:
print(i_heading)
2.
from textblob import TextBlob
def secret(word: str, count: int) -> str:
if count == 1:
return word
blob = TextBlob(word)
return blob.words[0].pluralize()
print(secret('paper', 1))
print(secret('paper', 9))
print(secret('goose', 1))
print(secret('goose', 9))
3.
import calendar
x = 2021
y = 2
print(calendar.month(x, y))
4.
import wikipedia
wikipedia.set_lang("ru")
result = wikipedia.page('N+1')
print(result.summary)
5.
import random
cards = [2, 3, 4, 6, 7, 8, 9, 10, 11] * 4
random.shuffle(cards)
print('Партию в *скрыто редактором*?')
count_user = 0
count_bot = 0
while True:
choice = input('Ещё карту? y/n\n')
if choice == 'y':
current = cards.pop()
count_user += current
count_bot += cards.pop()
print('У вас {current:d}, теперь у вас {count:d}'.format(current=current, count=count_user))
if count_user == 21 or count_bot > 21:
print('Победа!')
break
elif count_user > 21 or count_bot == 21:
print('Потрачено')
break
elif choice == 'n':
print('Боитесь ещё взять?')
if count_user < count_bot:
print('В следующий раз повезёт')
elif count_user > count_bot:
print('Вам просто повезло ;)')
else:
print('Ничья...')
break
else:
print('Что-то непонятное ввели :(')
print(
'У вас {count_user:d} очков, а у вашего соперника {count_bot:d}'.format(count_user=count_user, count_bot=count_bot)
)
6.
import pyautogui
for _ in range(10):
pyautogui.moveTo(1000, 1000, duration=0.5)
pyautogui.moveTo(500, 1000, duration=0.5)
pyautogui.moveTo(1000, 500, duration=0.5)
pyautogui.moveTo(500, 500, duration=0.5)
7.
x = ['N', '+', '1']
y = ['Sk', 'ill', 'box']
zipped = dict(zip(x, y))
print(zipped['N'], zipped['+'], zipped['1'])
8.
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3, 5, 150).reshape(1, -1)
y = np.linspace(-3, 5, 120).reshape(-1, 1)
z = np.cos(x) + np.sin(y)
x, y = x.flatten(), y.flatten()
fig1, ax_1 = plt.subplots()
cs = ax_1.contourf(
x, y, z, hatches=['-', '/', '\\', '//'], cmap='gray', extend='both', alpha=0.5 )
fig1.colorbar(cs)
plt.show()
9.
from sklearn.cluster import kmeans_plusplus
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
n_samples = 4000
n_components = 4
X, y_true = make_blobs(
n_samples=n_samples,
centers=n_components,
cluster_std=0.60,
random_state=0,
)
X = X[:, ::-1]
centers_init, indices = kmeans_plusplus(
X, n_clusters=4, random_state=0
)
plt.figure(1)
colors = ['#4EACC5', '#FF9C34', '#4E9A06', 'm']
for k, col in enumerate(colors):
cluster_data = y_true == k
plt.scatter(
X[cluster_data, 0],
X[cluster_data, 1],
c=col,
marker='.',
s=10,
)
plt.scatter(centers_init[:, 0], centers_init[:, 1], c='b', s=50)
plt.xticks([])
plt.yticks([])
plt.show()
10.
from skimage.morphology import skeletonize
from skimage import data
import matplotlib.pyplot as plt
from skimage.util import invert
image = invert(data.horse())
skeleton = skeletonize(image)
fig, axes = plt.subplots(
nrows=1, ncols=2, figsize=(8, 4), sharex=True, sharey=True
)
ax = axes.ravel()
ax[0].imshow(image, cmap=plt.cm.gray)
ax[0].axis('off')
ax[0].set_title('До обработки', fontsize=20)
ax[1].imshow(skeleton, cmap=plt.cm.gray)
ax[1].axis('off')
ax[1].set_title('После обработки', fontsize=20)
fig.tight_layout()
plt.show()
Поздравляем, ваш результат: из
Глаза вас подводят! Вы не сумели определить предназначение большинства программ — зато сколько нового узнали про Python! Для новичков, заинтересованных в изучении этого разностороннего языка, идеально подойдет курс
«Профессия Python-разработчик» от Skillbox. Используйте промокод «nplus1», чтобы получить 55% скидку. По итогам обучения карьерные консультанты Skillbox помогут вам с трудоустройством.
Поздравляем, ваш результат: из
Вы примерно знали, куда смотреть. Увы, этого оказалось недостаточно! Навык чтения кода необходимо упорно оттачивать: это точно пригодится в разработке. Хотите научиться использовать все возможности Python? Тогда обратите внимание на курс
«Профессия Python-разработчик» от Skillbox. Используйте промокод «nplus1», чтобы получить 55% скидку на обучение. А когда овладеете необходимыми навыками, карьерные консультанты Skillbox помогут вам с трудоустройством.
Поздравляем, ваш результат: из
Наметанный глаз видно сразу! Похоже, вы неплохо разбираетесь в Python. Однако и для вас он приготовил несколько сюрпризов. Курс
«Профессия Python-разработчик» от Skillbox поможет, если хочется более углублённо изучить Python и использовать этот язык программирования в новых областях. За 12 месяцев вы, среди прочего, освоите фреймворк Django, а для самых способных онлайн-университет предусмотрел продвинутый уровень изучения языка. Не переживайте, если не можете оплатить курс сразу: расходы за первый год обучения Skillbox возьмет на себя.
Поздравляем, ваш результат: из
Вы видите код Python насквозь. И все-таки отобранные нами задачи — лишь малая часть возможностей этого замечательного языка. Хотите освоиться в тех областях питона, которые мы не взялись упоминать в рамках этого материала? Тогда записывайтесь на курс
«Профессия Python-разработчик» от Skillbox. За 12 месяцев вы, среди прочего, освоите фреймворк Django, а для самых способных онлайн-университет предусмотрел продвинутый уровень изучения языка. Не переживайте, если не можете оплатить курс сразу: расходы за первый год обучения Skillbox возьмет на себя.