Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
def chip():
part = int(4) #IP=4teilig (von Punkten getrennnt)
while(part>0):
num = str(random.randint(0,9)) #erste Zahl der IP
val = random.randint(0,2) #wieviele Zahlen pro Part (1-3)
while(val>0):
num = num + str(random.randint(0,9))
val -= 1
if(part!=1):
num = num + '.' #damit am ende der IP kein punkt ist
part -= 1
print num
wo liegt der fehler?
ich bekomme immer nur 1-3 zahlen (=ersten part) geschrieben...
Zuletzt geändert von graphicsH am Dienstag 15. November 2011, 16:49, insgesamt 1-mal geändert.
import random
def getIP():
part = int(4)
while(part>0):
num = str(random.randint(0,255))
if(part!=1):
num = num + '.'
part -= 1
chipIP = num
print chipIP
def getGateWay():
chipGW = str.split(chipIP,'.')
def getPart():
num = str(random.randint(0,255))
global num
global chipGW
chipGW = chipGW[0] + '.' + chipGW[1] + '.' + chipGW[2] + '.' + num
print chipGW
Bitte guck dir mal das Python Tutorial an. Listen sollte man aufjedenfall mal durchgearbeitet haben. Am besten dann auch gleich Listcomprehensions. Mit denen ist es ein Einzeiler:
graphicsH hat geschrieben:was ist falsch?oben definiert und 'globalisiert'...
Jetzt vergiss doch bitte endlich mal global. Damit schaffst du dir diverse unschönen Abhängigkeiten in deinem Code. Gib einfach den errechneten Wert aus der Funktion zurück.
graphicsH hat geschrieben:hab mir schon viele Tutorials angeschaut (auch x über listen), join ist jedoch nie
vorgekommen...
Dann schau dir auch mal eine Beschreibung der Built-in Types an. Mit diesen Typen geht man häufiger um und man sollte zumindest eine Idee davon haben, was sie von Haus aus liefern.
Gib einfach den errechneten Wert aus der Funktion zurück.
den Befehl print in der funktion wiedergeben ist nutzlos,da ich dann statt print einen anderen Befehl (mit chipIP) in einer anderen Funktion benütze
Du hast laut deiner eigenen Aussage viele Tutorials durchgelesen und nach meiner Einschätzung kaum eins davon wirklich verstanden. Du weißt überhaupt nicht wovon ich rede, oder?
Sagt dir return etwas?
Lies im offiziellen Tutorial Defining Functions und verstehe das diesmal auch noch.
Warum eignest du dir nicht wirklich einfach mal die Grundlagen von Python an? Du rufst getIp() auf, weist das Ergebnis aber nicht zu.
Ich beende jetzt hier für mich diesen Thread. Wenn mein Beispiel oben nicht gereicht hat um den Umgang mit Rückgabewerten aus Funktionen zu demonstrieren, dann weiß ich nicht wie ich elementare Dinge noch einfacher erklären soll.