bir türlü yapamadım yardım eder misiniz?
class app():
def __init__(self, ips1, ips2):
ip1 = ips1.split('.')
print(ip1)
ipb1 = ip1[0]
ipb2 = ip1[1]
ipb3 = ip1[2]
ipb4 = ip1[3]
ip2 = ips2.split('.')
print(ip2)
ips1 = ip2[0]
ips2 = ip2[1]
ips3 = ip2[2]
ips4 = ip2[3]
for a in range(int(ipb1), 255):
for b in range(int(ipb2), 255):
for c in range(int(ipb3), 255):
for d in range(int(ipb3), 255):
ipranges = f'{a}.{b}.{c}.{d}'
print(ipranges)
app("192.168.1.0", "192.168.2.0")
192.168.2.0 da durmuyor
192.168.1.0’da başlayıp, 192.168.2.0’da durması için bir kod yazmamışsın ki dursun?
Kodunda bir koşul yok.
koşula girmiyor yapamadığım için sorduydum
class app():
def __init__(self, ips1, ips2):
self.ips1 = ips1
self.ips2 = ips2
def number_ip_adresi(self):
ip1_split = self.ips1.split(".")
ip2_split = self.ips2.split(".")
return ip1_split
def ip_hesapla(self):
ip_listesi = []
# while len(ip_listesi) <= 255:
for i in range(int(a.number_ip_adresi()[3]), 256):
ip_listesi.append(f"{a.number_ip_adresi()[0]}.{a.number_ip_adresi()[1]}.{a.number_ip_adresi()[2]}.{i}")
return ip_listesi
a = app("192.168.1.0", "192.168.2.0")
for i in a.ip_hesapla():
print(i)
ben fazla sınıf yapılarıyla program yazamıyorum da gördüğüm kadarıyla def init kısmında verdiğin ips1 ve ips2 yi self.ips1 ve self ips2 eşitlemen gerekiyor gibi düşünüyorum.
programda verdiğin ip ler birbirini takip eden ip ler, yani 192.168.1.255 ten sonra 192.168.2.0 olur onun için range 0, 256) yeter gibiydi.
düzeltme: while döngüsünü farklı ip aralıklarına (192.168.1.0 192.168.3.0) geçiş için kullanmıştım tek ip için gereksiz olduğu için kaldırdım. o döngüde daha başka hesaplamalar yapacaktım ondan kullanmıştım.
1 Beğeni