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.
Hey Leute, die Aufgabe war Das Programm so zu schreiben, dass es alle Links aus irgend einem String raus schreibt.
Das hab ich geschafft, jedoch wird "None" immer mitgeschrieben.
Arbeite schon Stunden daran, bekomme das nicht weg.
Bitte um Hilfe.. Bin ganz neu dabei.
BlackJack hat geschrieben:@nightlife_: Was gibt denn das ``print`` in Zeile 23 aus?
Es printed doch das Verfahren welches ich mit def print_all_links(site) beschreibe. richtig?
Aber wenn es keine Links mehr gibt und die Lösung oben durch def linkfounder(site) -> None ergibt, sollte unten ja einfach das brake einsetzen, da ja kein url mehr da ist, und nicht noch None printen. Oder? Wo liegt mein Überlegungsfehler im Code?... :/
@nightlife_: Was ist denn „das Verfahren“? Es gibt den Rückgabewert der `print_all_links()`-Funktion aus, die hat aber keinen expliziten Rückgabewert, also wird `None` zurückgegeben, und dann vom ``print`` halt auch ausgegeben.
Du möchtest eventuell auch mal das Englische Wort „founder“ nachschlagen. Ich habe so eine Ahnung dass das nicht die Bedeutung hat, die Dir vorschwebt.
BlackJack hat geschrieben:@nightlife_: Was ist denn „das Verfahren“? Es gibt den Rückgabewert der `print_all_links()`-Funktion aus, die hat aber keinen expliziten Rückgabewert, also wird `None` zurückgegeben, und dann vom ``print`` halt auch ausgegeben.
Du möchtest eventuell auch mal das Englische Wort „founder“ nachschlagen. Ich habe so eine Ahnung dass das nicht die Bedeutung hat, die Dir vorschwebt.
ufff.. XD Wie man sieht habe ich nur denn Prozess so benannt, ist doch egal was ich da hinschreibe^^, kann auch lol oderso hinschreiben...
Weiss denn keiner etwas?
Du willst scheinbar Programmieren lernen. Der wichtigere Punkt als eine konkrete Sprache zu lernen ist _korrekt_ zu arbeiten. Das heisst u.a. die richtigen Werkzeuge und eben auch Namen zu benutzen.
Eines solltest du nicht vergessen: Es gibt für jeden Code mindestens zwei Leser. Dich, wenn du ihn schreibst, und dich, wenn du ihn spaeter nochmal liest.
Woher das `None` kommt hat dir BlackJack doch schon gesagt.
jens hat geschrieben:Schau dir alle print Anweisungen an und überlege welches davon das None ausgibt
cofi hat geschrieben:Du willst scheinbar Programmieren lernen. Der wichtigere Punkt als eine konkrete Sprache zu lernen ist _korrekt_ zu arbeiten. Das heisst u.a. die richtigen Werkzeuge und eben auch Namen zu benutzen.
Eines solltest du nicht vergessen: Es gibt für jeden Code mindestens zwei Leser. Dich, wenn du ihn schreibst, und dich, wenn du ihn spaeter nochmal liest.
Woher das `None` kommt hat dir BlackJack doch schon gesagt.
Vielen Dank für eure Antworten Leute. Mir ist schon klar wo das None geprinted wird, aber kann mir jemand sagen, wie ich es raus bekomme?
nightlife_ hat geschrieben:Vielen Dank für eure Antworten Leute. Mir ist schon klar wo das None geprinted wird, aber kann mir jemand sagen, wie ich es raus bekomme?
nightlife_ hat geschrieben:Vielen Dank für eure Antworten Leute. Mir ist schon klar wo das None geprinted wird, aber kann mir jemand sagen, wie ich es raus bekomme?
cofi hat geschrieben:_Warum_ da ein `None` hat Blackjack dir _auch_ gesagt. Das laesst doch nur eine Loesung zu: Du entfernst das `print`.
Vielen Dank Leute, ich habs nun verstanden! Ich muss ja nur den Prozess ausführen. Och mann! haha
Was geht genau vor wenn ich das print vornedran habe, wenn das None geprinten wird?
Jede Funktion hat in Python einen Rückgabewert. Wenn die Funktion nicht mit `return` explizit einen Wert zurückgibt, ist dieser `None`. Deine Funktion gibt also `None` zurück und du gibst das `None` mit `print` aus.
... und um's noch rund zu machen: "founder" heißt auf deutsch "Gründer", darum ist das im gegebenen Kontext ein schlechter Name für die Funktion. Besser wäre "link_finder" oder "find_link"