kreisumfang mit python berechnen

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
lukasmarti
User
Beiträge: 31
Registriert: Samstag 8. April 2006, 17:10
Wohnort: lachen (schweiz)

ich habe versucht ein programm zu schreiben das den unmang eines kreises berechnet aber es funktioniert nicht kann mir jemand sagen, was ich falsch gemacht habe

Code: Alles auswählen

b = raw_input("Gib eine Zahl ein!")
def umfang(x):
    x * 3.14
    print x*3.14
    
print umfang(b)
schon mal danke für die antworten

Edit (Leonidas): Code in Python-Tags gesetzt.
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Magst du deinen Code in PythonTags setzten?
Dann bleiben die Einrückungen erhalten und man kann das Skript schnell mal testen.
Bitte füge auch die Fehlermeldung hinzu.

cu Sebastian
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

ich habe versucht ein programm zu schreiben das den unmang eines kreises berechnet aber es funktioniert nicht kann mir jemand sagen, was ich falsch gemacht habe
Ja. Kann jemand. Unter anderem ich.
--- Heiko.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich hab es schon in Python-Tags gesetzt.
lukasmarti hat geschrieben:schon mal danke für die antworten
Die einfache Antwort ist, dass print umfang(b) den Rückgabewert von umfang(b) ausgbibt, da aber umfang(b) keinen Rückgabewert hat (kein return) ist es automatisch None. Wenn du das print gegen return ersetzt sollte das richtige rauskommen.

Edit: Argh, raw_input! Ich sollte erstmal testen was ich sage und dann erst posten. Aber die anderen habens ja gefunden.
Zuletzt geändert von Leonidas am Sonntag 9. April 2006, 15:29, insgesamt 1-mal geändert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
cime
User
Beiträge: 152
Registriert: Dienstag 24. Mai 2005, 15:49

lukasmarti hat geschrieben:ich habe versucht ein programm zu schreiben das den unmang eines kreises berechnet aber es funktioniert nicht kann mir jemand sagen, was ich falsch gemacht habe

Code: Alles auswählen

b = raw_input("Gib eine Zahl ein!")
def umfang(x):
    x * 3.14
    print x*3.14
    
print umfang(b)
schon mal danke für die antworten

Edit (Leonidas): Code in Python-Tags gesetzt.
der rückgabewert von raw_input ist ein string .... das heißt, du multiplizierst einen string mit einer float und da weiß Python einfach nicht was es machen soll (--> Error)

damit dein Programm funktioniert musst du also den vorher eingelesenen string in einen integer umwandeln

Code: Alles auswählen

int(b) 
also müsste dein prog dann so aussehen ...

Code: Alles auswählen

b = raw_input("Gib eine Zahl ein!")
def umfang(x):
    x * 3.14
    return x*3.14
    
print umfang(int(b))

mfg
cime
Zuletzt geändert von cime am Sonntag 9. April 2006, 15:28, insgesamt 2-mal geändert.
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

@ modelnine
War dieser Beitrag wirklich nötig?
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Ja. Kann jemand. Unter anderem ich.
Gääähn :roll:

@lukasmarti:
raw_input liefert einen String, wenn Du damit rechnen willst, musst Du ihn erst in ein Integer oder Float umwandeln. Danach einfach

Code: Alles auswählen

return x*3.14
PS: Pi bekommst Du mit dem Modul math

Code: Alles auswählen

import math
print math.pi
PPS: Sorry cime, hab Deinen Beitrag zu spät gesehen.

Gruß, mawe
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mr_Snede hat geschrieben:@ modelnine
War dieser Beitrag wirklich nötig?
Bin zwar nicht modelnine und antworte meist auch nicht so entnervt, kann das aber verstehen.

Guck dir mal die Fragestellung an:
lukasmarti hat geschrieben:ich habe versucht ein programm zu schreiben das den unmang eines kreises berechnet aber es funktioniert nicht kann mir jemand sagen, was ich falsch gemacht habe
Nettoanzahl von Großbuchstaben, die manchmal am anfang von Wörtern vorkommen: Null
Nettoanzahl von Interpunktionszeichen, die manchmal helfen lange Sätze zu verstehen: Null

Dazu die Seite Wie man Fragen richtig stellt, besonders den Abschnitt "Write Well".

Versteht mich nicht falsch, ich habe nichts gegen lukasmarti, und schreibe selbst auch nicht immer mit allen Punkten und Kommas und Großbuchstaben und logisch. Aber ich gebe mir Mühe, und das könnte lukasmarti auch tun.

So genug genert, zurück zu lukasmartis Problem :)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Dann will ich auch noch meinen Senf dazugeben.Anstatt raw_input zu benutzen und dann das den Wert von raw_input in einen integer oder float zu verwandeln kann man auch input benutzen.Ach ja und ich denke man sollte den Prompt noch deutlicher schreiben, z.B. Geben Sie den Durchmesser an:

Code: Alles auswählen

b = input("Gib den Durchmesser an:")
def umfang(x):
   return x * 3.14
    
umfang(b)
oder mit dem math modul:

Code: Alles auswählen

from math import pi
b = input("Gib den Durchmesser an:")
def umfang(x):
   return x * pi
umfang(b)
mfg

Thomas :-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Python Master 47 hat geschrieben:kann man auch input benutzen.
Input sollte abgeschafft werden.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Leonidas hat geschrieben:
Python Master 47 hat geschrieben:kann man auch input benutzen.
Input sollte abgeschafft werden.
Ich weiß, aber für seine Zwecke geht es doch!
mfg

Thomas :-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Python Master 47 hat geschrieben:Ich weiß, aber für seine Zwecke geht es doch!
Warum sich nicht gleich einen sauberen Programmierstil zulegen?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Ok hast du auch wieder recht!Wenn er es am Anfang falsch lernt, wird er ews immer wieder falsch machen!
mfg

Thomas :-)
Antworten