Seite 1 von 1
Problem Python Programmierung Online Tutorial
Verfasst: Sonntag 16. August 2015, 01:27
von nightlife_
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.
http://fs2.directupload.net/images/150816/pnk6taui.png
Re: Problem Python Programmierung Online Tutorial
Verfasst: Sonntag 16. August 2015, 01:34
von BlackJack
@nightlife_: Was gibt denn das ``print`` in Zeile 23 aus?

Re: Problem Python Programmierung Online Tutorial
Verfasst: Sonntag 16. August 2015, 01:40
von nightlife_
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?... :/
Re: Problem Python Programmierung Online Tutorial
Verfasst: Sonntag 16. August 2015, 02:06
von BlackJack
@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.

Re: Problem Python Programmierung Online Tutorial
Verfasst: Sonntag 16. August 2015, 10:18
von nightlife_
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?
Re: Problem Python Programmierung Online Tutorial
Verfasst: Sonntag 16. August 2015, 11:26
von cofi
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.
Re: Problem Python Programmierung Online Tutorial
Verfasst: Sonntag 16. August 2015, 11:51
von jens
Schau dir alle print Anweisungen an und überlege welches davon das None ausgibt

Re: Problem Python Programmierung Online Tutorial
Verfasst: Sonntag 16. August 2015, 14:06
von nightlife_
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?
Re: Problem Python Programmierung Online Tutorial
Verfasst: Sonntag 16. August 2015, 14:09
von cofi
_Warum_ da ein `None` hat Blackjack dir _auch_ gesagt. Das laesst doch nur eine Loesung zu: Du entfernst das `print`.
Re: Problem Python Programmierung Online Tutorial
Verfasst: Sonntag 16. August 2015, 14:16
von MagBen
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?
Ändere Zeile 23 von
Code: Alles auswählen
print print_all_links('<a href="twitter.ch" <a href="pokemon.com" ')
zu
Code: Alles auswählen
print_all_links('<a href="twitter.ch" <a href="pokemon.com" ')
Re: Problem Python Programmierung Online Tutorial
Verfasst: Sonntag 16. August 2015, 14:20
von nightlife_
MagBen hat geschrieben: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?
Ändere Zeile 23 von
Code: Alles auswählen
print print_all_links('<a href="twitter.ch" <a href="pokemon.com" ')
zu
Code: Alles auswählen
print_all_links('<a href="twitter.ch" <a href="pokemon.com" ')
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?
Re: Problem Python Programmierung Online Tutorial
Verfasst: Sonntag 16. August 2015, 14:24
von Dav1d
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.
Re: Problem Python Programmierung Online Tutorial
Verfasst: Sonntag 16. August 2015, 20:44
von noisefloor
Hallo,
... 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"
Gruß, noisefloor