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
🔥5❤1😎1
Python и веб-разработка: Быстрый старт с FastAPI
FastAPI — современный веб-фреймворк для создания API на Python с поддержкой асинхронного программирования. Он позволяет быстро и легко разрабатывать высокопроизводительные RESTful API, используя аннотации типов для валидации данных.
Запуск
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