Вижу тебя насквозь

Попробуйте определить предназначение кода на Python

От прочих языков программирования 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()

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.