Задать вопрос
@atm87

Как отобразить принтом диапазон IP адресов?

Привет, знатоки! Нужно вывести в терминал диапазон IP адресов. Не подскажите?

# проверка на валидацию IP адресов
def ip_checkv4(self):
	ip1 = self.ui2.lineEdit.text() # 10.62.39.1
	ip2 = self.ui2.lineEdit_2.text() # 10.62.39.12
	if(ipaddress.ip_address(ip1) and ipaddress.ip_address(ip2)):
		ipaddress1 = ip1.split(".") # ['10', '62', '39', '1']
		ipaddress2 = ip2.split(".") #['10', '62', '39', '12']
		if(ipaddress1[:3] == ipaddress2[:3]): # проверка на совпадение первых трех октетов
			if(ipaddress1[3] < ipaddress2[3]): # если четвертый октет меньше, то выводим диапазон
				<b># как вывести диапазон, чтобы было?</b>
                                # 10.62.39.1
                                # 10.62.39.2
                                # 10.62.39.3
                                # 10.62.39.4
                                и т.д.
			else:
				print("Четвертый октет перевого IP адреса должен быть меньше четвертого октета второго IP адреса")
		else:
			print("Первые три октета IP-адресов не совпадают.")
	else:
		print("Некорректно введены IP адреса")

Пробовал так:
if(ipaddress1[3] < ipaddress2[3]): # если четвертый октет меньше, то выводим диапазон
                    while ip1 <= ip2:
                        print(ip1)
                        ip1 += 1
                else:

появляется ошибка: "TypeError: can only concatenate str (not "int") to str"
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы