Seite 1 von 2
Re: Ergebnisse einer Funktion in einer nachfolgenden verwenden?
Verfasst: Freitag 15. März 2019, 19:56
von c.burkes
Re: Ergebnisse einer Funktion in einer nachfolgenden verwenden?
Verfasst: Freitag 15. März 2019, 19:57
von Sirius3
Eine der fünf Varianten, die Du oben gezeigt hast, funktioniert jetzt aber, und oh Wunder, das ist auch die Lösung des Problems.
Re: Ergebnisse einer Funktion in einer nachfolgenden verwenden?
Verfasst: Freitag 15. März 2019, 20:05
von c.burkes
@ Sirius .... verraetst Du mir bitte, welche code-Version?
bei mir liefert am ehesten folgender code ein Ergebnis ....
Code: Alles auswählen
def password_generator(username):
password = []
password.append(username[-1] + username[1:])
return password
password_generator(username_generator("Abe", "Simpson"))
print(password_generator)
Jedoch wird auch hier nur "<function password_generator at 0x7f2ddc412c80>" ausgegeben .... und bezieht sich eben immer noch auf Quelle statt Resultat ....
btw ... 0x7f2ddc412c80 konnte ich dazu bei bing auch keine Ergebnisse finden .....
.... was hat es damit auf sich?
Re: Ergebnisse einer Funktion in einer nachfolgenden verwenden?
Verfasst: Freitag 15. März 2019, 20:06
von Sirius3
Du rufst `password_generator` auf. Was machst Du mit dem Ergebnis?
Was gibst Du mit `print` aus?
Re: Ergebnisse einer Funktion in einer nachfolgenden verwenden?
Verfasst: Freitag 15. März 2019, 20:10
von __blackjack__
@c.burkes: Die Hexadezimalzahl hat keine weitere Bedeutung die für Dich interessant wäre. Anhand derer könntest Du mehr als eine `password_generator`-Funktion auseinander halten. Du hast ja aber nur eine.
Re: Ergebnisse einer Funktion in einer nachfolgenden verwenden?
Verfasst: Freitag 15. März 2019, 20:10
von c.burkes
also ist hier
Code: Alles auswählen
print(password_generator(username_generator("Abe", "Simpson")))
gefragt und es gibt keine Moeglichkeit, auf den usernamen zuzugreifen *facepalm* got it .... hast Du mir ja jetzt auch zum dritten mal gesagt.
check
Re: Ergebnisse einer Funktion in einer nachfolgenden verwenden?
Verfasst: Freitag 15. März 2019, 20:12
von c.burkes
Danke fuer Eure Geduld!!
@blackjack ... auch fuer diese Aufklaerung thx
Re: Ergebnisse einer Funktion in einer nachfolgenden verwenden?
Verfasst: Freitag 15. März 2019, 20:17
von Sirius3
Wenn Du auf den username zugeifen willst, dann mußt Du halt das Ergebnis von `username_generator` an eine Variable binden.
Re: Ergebnisse einer Funktion in einer nachfolgenden verwenden?
Verfasst: Freitag 15. März 2019, 20:19
von Perlchamp
@ c.burkes:
in Anlehnung an deinem Code kannst du die if-Kontrollstruktur weglassen, wie Sirius3 bereits geschrieben hat:
Code: Alles auswählen
def username_generator(first_name, last_name):
username = first_name[:3] + last_name[:4]
return username
print(username_generator('Abe', 'Simpson'))
print()
def password_generator(username):
password = list()
password.append(username[-1] + username[1:])
return password
print(password_generator(username_generator('Abe', 'Simpson')))
Re: Ergebnisse einer Funktion in einer nachfolgenden verwenden?
Verfasst: Freitag 15. März 2019, 20:28
von c.burkes
@Sirius @Perlchamp ... gerade getestet .... das ist ja auch richtig nice
Python erkennt also "zu wenig" Buchstaben selbstaendig dennoch als relevanten Inhalt. Nice. Danke dafuer!!
Re: Ergebnisse einer Funktion in einer nachfolgenden verwenden?
Verfasst: Freitag 15. März 2019, 20:43
von Sirius3
Wenn klar ist, wie viele Elemente eine Liste enthält, schreibt man das am besten mit Eckigen Klammern:
Code: Alles auswählen
def password_generator(username):
password = [username[-1] + username[1:]]
return password
so dass man die Variable auch einsparen kann:
Code: Alles auswählen
def password_generator(username):
return [username[-1] + username[1:]]
Jetzt ist aber eine Liste, die immer exakt ein Element hat, nicht wirklich sinnvoll:
Code: Alles auswählen
def password_generator(username):
return username[-1] + username[1:]
Re: Ergebnisse einer Funktion in einer nachfolgenden verwenden?
Verfasst: Freitag 15. März 2019, 21:02
von __blackjack__
Und auch wenn es natürlich offensichtlich sein sollte: Das Passwort taugt natürlich nichts, das sollte man durch etwas sinnvolleres ersetzen.