Pro Python
1.29K subscribers
85 photos
20 files
102 links
Канал создан, чтобы заинтересовать вас языками программирования.

@ - связь, реклама
Download Telegram
from ipaddress import *

mask = "255.255.255.192"

net = ip_network(f"0.0.0.0/{mask}")
print(net.num_addresses - 2)


Для получения сети мы используем фиктивный IP-адрес, который используется для определения сети, так как адрес сети будет выведен правильно с учетом маски.

Обращаемся к свойству num_addresses, получим количество возможных iP-адресов в данной сети и отнимем 2 (по условию задачи) и получим 62
2
from ipaddress import *

mask = "255.255.240.0"
ip = "232.126.150.18"
net = ip_network(f"{ip}/{mask}", False)

ip = ip_address(ip)
net_ip = ip_address(str(net).split("/")[0])

print(int(ip)-int(net_ip))


Номер компьютера сети равен разнице IP-адреса компьютера и адреса сети. Находим адрес сети по маске и IP. Дальше при помощи функции ip_address получаем объекты IP-адресов в правильном виде. В адресе сети избавляемся от маски. Далее отнимаем от IP-адреса компьютера адрес сети, предварительно конвертировав оба значения в десятичное целочисленное число (int) для удобства и получаем ответ: 1554
🔥51😎1
Python и веб-разработка: Быстрый старт с FastAPI

FastAPI — современный веб-фреймворк для создания API на Python с поддержкой асинхронного программирования. Он позволяет быстро и легко разрабатывать высокопроизводительные RESTful API, используя аннотации типов для валидации данных.

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
return {"message": "Hello, World!"}

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "query": q}


Запуск
uvicorn main:app --reload
👍7