Anfänger in Python: Zahlen mit for Schleife ausgeben

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.
Antworten
duodiscus
User
Beiträge: 97
Registriert: Sonntag 6. April 2014, 16:10

Hallo zusammen,
für die meisten hier wohl eine einfache Frage, aber ich komme nicht selbstständig auf die Lösung der mir gestellten Aufgabe. Zumindest nicht vollständig:

"Eine Funktion zu schreiben, die mit for und print Anweisungen zuerst die Zahlen von 1 bis n (n soll der Parameter sein) untereinander und dann nebeneinander ausgibt. "

Ich habe es bisher geschafft die Zahlen 1 bis n untereinander ausgeben zu lassen mit folgendem Quelltext:

Code: Alles auswählen

n=11
 for i in range(n):
 print (i)
Ich kriege es aber irgendwie nicht hin, danach die zahlen nebeneinander ausgeben zu lassen. Kann mir da jemand weiterhelfen? Das wäre sehr nett.

Es soll praktisch so aussehen in der Ausgabe:

1
2
3
4
5
12345

Danke für Eure Antworten und Hilfen
Zuletzt geändert von Anonymous am Sonntag 6. April 2014, 16:36, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
BlackJack

@duodiscus: Das ist keine Funktion und noch nicht einmal syntaktisch korrekt, denn das ist falsch eingerückt.

Zur Frage: Schau Dir mal die Dokumentation zur `print()`-Funktion an.
duodiscus
User
Beiträge: 97
Registriert: Sonntag 6. April 2014, 16:10

Ich habe mir schon diverse Dokumentationen angeschaut, aber keine hat mir auf die Sprünge geholfen. Jetzt versuche ich es eben auf diesem Wege.
BlackJack

@duodiscus: Was genau hast Du denn bei der `print()`-Funktion nicht verstanden? Und es gibt da nicht wirklich „diverse Dokumentationen”, es gibt *die* Python-Dokumentation und dort einen Abschnitt zu *der* `print()`-Funktion: https://docs.python.org/3.4/library/fun ... html#print
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Falls du Python 2 und nicht Python 3 nutzen solltest, ist print übrigens keine Funktion, sondern ein Statement oder Anweisung, wie es in deiner Aufgabenstellung auch heißt. Dann musst du am Ende der print-Anweisung ein Komma anhängen, um Zeilenumbrüche zu verhindern. Beachte aber, dass allerdings noch ein Leerzeichen angehängt wird. Das kannst du nur verhindern, indem du direkt sys.stdout.write verwendest, aber ich denke, das ist in deinem Fall kein Problem.

Ein Beispiel:

Code: Alles auswählen

>>> for c in 'hello world':
...     print c,
... 
h e l l o   w o r l d
duodiscus
User
Beiträge: 97
Registriert: Sonntag 6. April 2014, 16:10

Wie oben beschrieben, nach der einmaligen ausgabe, die ausgabe nochmals in einer zeile auszugeben.

1
2
3
4
5
12345
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Keine Angst, dein Problem hat jeder verstanden. Du sollst nur selber auf deine Lösung kommen ;-)
Das Leben ist wie ein Tennisball.
duodiscus
User
Beiträge: 97
Registriert: Sonntag 6. April 2014, 16:10

Code: Alles auswählen

def DIEFUNKTION(n):
    ausgabe = str()
    for i in range(1,n,1):
        ausgabe += str(i)
    print(ausgabe)
So habe ich es jetzt, allerdings zeigt die Shell mir bei der Ausgabe nun gar nichts an.
Zuletzt geändert von Anonymous am Sonntag 6. April 2014, 19:34, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

@duodiscus: rufst Du Deine Funktion »DIEFUNKTION« auch auf?
duodiscus
User
Beiträge: 97
Registriert: Sonntag 6. April 2014, 16:10

Habe die Funktion nun richtig aufgerufen, sie gibt mir die Zahlen jetzt nebeneinander aus. Mir fehlt jedoch die vorherige Ausgabe derselben Zahlen untereinander. Was muss ich der Funktion hinzufügen, das vorher die Zahlen 1 bis n mit Zeilenumbrüchen einzeln ausgegeben werden und dann in einer Zeile?
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Im Code deines Eingansbeitrags hast du das doch hinbekommen, genau so musst du das jetzt auch machen.
Das Leben ist wie ein Tennisball.
Antworten