Seite 2 von 2

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. :oops: :oops: 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.