Print und Return kombiniert

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
I3lackt4r
User
Beiträge: 17
Registriert: Freitag 16. September 2022, 20:25

Guten Morgen,
eine für Euch eine leichte Frage:
Ich möchte einen Satz ausgeben der lauten soll:
"Das Ergebnis ist:100"
Ich weiß leider nicht wie ich return und print kombinieren kann... bzw. ich weiß halt einfach noch nicht wie ich int und str ausgeben kann


def name_der_funktion(par1, par2):
print("Das Ergebnis ist:")
return(par1+par2)

name_der_funktion(99,1)
Benutzeravatar
noisefloor
User
Beiträge: 3857
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

du meinst, wie du die Variable in die print-Funktion bebkommst? Das Stichwort lautet "f-Strings" oder, alternative (ältere Methode) format-Methode von Strings. Findest du beides in der Python-Doku.

Gruß, noisefloor
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

`name_der_funktion` ist ein schlechter Name der Funktion. Weil schon aus dem Namen sollte klar werden, was die Funktion macht, also entweder summe_berechnen, oder summe_ausgeben. Du hast eine Mischung aus beidem. Wenn ich die Aufgabe richtig interpretiere, ist zweiteres gefordert:

Code: Alles auswählen

def summe_ausgeben(a, b):
    print("Das Ergebnis ist:", a + b)
Oder eben erstere. `return ist keine Funktion, die Klammern daher überflüssig:

Code: Alles auswählen

def summe_berechnen(a, b):
    return a + b

print("Das Ergebnis ist:", summe_berechnen(99, 1))
I3lackt4r
User
Beiträge: 17
Registriert: Freitag 16. September 2022, 20:25

Hallo,
ja das hab ich schon begriffen aber ich möchte
def funkion_1 (x, y)
print("Satz a:" x + y)
funktion_1(x,y)

Ausgabe: Satz a: XY


Wie bekomme ich das hin?
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Ich begreife es nicht. Zeige ein vollständiges Beispiel mit der aktuellen Ausgabe, und einer Erklärung, wie es von der gewünschten Ausgabe abweicht.
I3lackt4r
User
Beiträge: 17
Registriert: Freitag 16. September 2022, 20:25

Ich habe bis jetzt:
def name_der_funktion(par1, par2):
print("Das Ergebnis ist:")
return par1 + par2

name_der_funktion(99,1)

Ausgabe:
Das Ergebnis ist:

100

und hätte gerne :
Das Ergebnis ist : 100
Benutzeravatar
noisefloor
User
Beiträge: 3857
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Wie bekomme ich das hin?
Habe ich dir doch geschrieben: f-Strings oder format-Methode. Wo du den String formatierst ist egal, kann auch im return-Statement sein.

Gruß, noisefloor
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@I3lackt4r: indem Du beides in ein `print´ packst. Wie ich schon geschrieben habe, macht es keinen Sinn, einen Teil der Ausgabe in die Funktion zu stecken und einen Teil irgendwo anders auszugeben, wobei in Deinem Beispiel 100 gar nicht ausgegeben wird (es sei denn Du machst das irgendwie interaktiv).
I3lackt4r
User
Beiträge: 17
Registriert: Freitag 16. September 2022, 20:25

Sirius3 hat geschrieben: Mittwoch 21. Dezember 2022, 10:03 @I3lackt4r: indem Du beides in ein `print´ packst. Wie ich schon geschrieben habe, macht es keinen Sinn, einen Teil der Ausgabe in die Funktion zu stecken und einen Teil irgendwo anders auszugeben, wobei in Deinem Beispiel 100 gar nicht ausgegeben wird (es sei denn Du machst das irgendwie interaktiv).
Ich hab jetzt hin und her probiert und krieg es nicht hin, kannst Du mir vielleicht ein Beispiel geben?
Sorry das ich so blöd frage aber ich hab noch nicht das Gefühl von Funktionen...

LG
Benutzeravatar
noisefloor
User
Beiträge: 3857
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Ich hab jetzt hin und her probiert und krieg es nicht hin, kannst Du mir vielleicht ein Beispiel geben?
Dann zeig' doch mal, was du probiert hast und nicht funktioniert, inkl. zugehöriger Fehlermeldung.

Gruß, noisefloor
I3lackt4r
User
Beiträge: 17
Registriert: Freitag 16. September 2022, 20:25

def name_der_funktion(par1, par2):

print(par1+par2)

name_der_funktion(99,1)
Ausgabe: 100

def name_der_funktion(par1, par2):

print("Das Ergebnis ist:"par1+par2)

name_der_funktion(99,1)

File "C:\Users\carlo\AppData\Local\Temp\ipykernel_5600\2505044752.py", line 3
print("Das Ergebnis ist:"par1+par2)
^
SyntaxError: invalid syntax



def name_der_funktion(par1, par2):

print(("Das Ergebnis ist:")par1+par2)

name_der_funktion(99,1)

File "C:\Users\carlo\AppData\Local\Temp\ipykernel_5600\4219184038.py", line 3
print(("Das Ergebnis ist:")par1+par2)
^
SyntaxError: invalid syntax


def name_der_funktion(par1, par2):

print(str("Das Ergebnis ist:"))par1+par2)

name_der_funktion(99,1)

File "C:\Users\carlo\AppData\Local\Temp\ipykernel_5600\2019492203.py", line 3
print(str("Das Ergebnis ist:"))par1+par2)
^
SyntaxError: invalid syntax

def name_der_funktion(par1, par2):

print(str("Das Ergebnis ist:")+par1+par2)

name_der_funktion(99,1)


TypeError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_5600\296951199.py in <module>
3 print(str("Das Ergebnis ist:")+par1+par2)
4
----> 5 name_der_funktion(99,1)
6

~\AppData\Local\Temp\ipykernel_5600\296951199.py in name_der_funktion(par1, par2)
1 def name_der_funktion(par1, par2):
2
----> 3 print(str("Das Ergebnis ist:")+par1+par2)
4
5 name_der_funktion(99,1)

TypeError: can only concatenate str (not "int") to str


reicht das erstmal ?

LG
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

Schau mal nach, wo Sirius3 die Kommata gesetzt hat.
I3lackt4r
User
Beiträge: 17
Registriert: Freitag 16. September 2022, 20:25

Vielen Dank, war eine schwere Geburt, aber jetzt hab ich es verinerlicht:

def name_der_funktion(par1, par2):
print("Das Ergebnis ist:", par1 + par2)
name_der_funktion(99,1)
Antworten