Seite 1 von 1
Anfänger-Frage :
Verfasst: Sonntag 29. Dezember 2013, 10:39
von Brockhoff
Hallo !
Meine Tochter benötigt Python und ich der Vater bin
von einer prozeduralen Sprache " verdorben".
Ich arbeite mit einem Mac, habe die Software PsychoPy2 ( Version 1.78.01 ).
Folgendes kleine Programm will ich zum laufen bringen :
Code: Alles auswählen
# wurzel_n.py
a = float(input("Zu berechnende n.Wurzel: "))
n = float(input("Eingabe von n: "))
x = float(input("Schätzwert: "))
# float bedeutet, dass mit Kommazahlen gerechnet werden soll!
print "Iteration Näherungswert"
print "_________________________"
for i in range(1,6):
x = ((n-1)*x+a/(x**(n-1)))/n
# Bemerkung: x**(n-1) bedeutet x hoch n-1
print ' ',i,' ',x
Wer kann helfen ? Bitte per email antworten.
Meine Tastatur hat kein Ziffernblock !
Danke
HB
Re: Anfänger-Frage :
Verfasst: Sonntag 29. Dezember 2013, 11:23
von BlackJack
@Brockhoff: Es wäre auch praktisch wenn Du das Problem beschreiben würdest, denn sonst muss man raten. Du bekommst doch sicher eine Fehlermeldung, oder das Programm verhält sich nicht so wie Du erwartest. Dann wäre schön wenn Du beschreiben würdest wie es sich verhält und was Du stattdessen erwartet hättest. Eventuell noch warum, damit man klären kann wo ein Verständnisproblem liegen könnte.
Wenn ich jetzt mal rate das es Python 2 sein soll, dann müsste das `input()` durch `raw_input()` ersetzt werden. Und man müsste einen Kodierungskommentar oben angeben oder die Zeichen ausserhalb von ASCII im Quelltext durch ASCII-Zeichen ersetzen. Aus dem `range()` könnte man noch ein `xrange()` machen wenn man wollte, denn die Liste die `range()` in Python 2 zurück gibt, wird ja nicht wirklich benötigt.
Sollte es dagegen unter Python 3 laufen, dann müssen aus den ``print``-Anweisungen Funktionsaufrufe werden, denn ``print`` ist zu einer Funktion geworden.
Das Du von einer prozeduralen Sprache „verdorben” bist macht bei diesem Programm ja noch nicht viel aus, das ist ja rein imperativ.
Re: Anfänger-Frage :
Verfasst: Sonntag 29. Dezember 2013, 13:36
von darktrym
Re: Anfänger-Frage :
Verfasst: Sonntag 29. Dezember 2013, 13:55
von bwbg
@darktrym: Die Vorgabe der Kodierung ist schon alleine deswegen sinnfrei, als dass Du gar nicht wissen kannst, mit welcher Kodierung die Datei abgespeichert wurde.
Richtig bleibt jedoch, dass man
eine angeben sollte, wenn man Zeichen außerhalb des ASCII-Zeichensatzes verwendet (hier: Umlaute).
Mit dem "leidigen" Unicode und einhergehenden Kodierungen kann man ohnehin ganze Bücher füllen.
Kann man "prozedural verdorben" sein? OOP wird maßlos überbewertet

.
Re: Anfänger-Frage :
Verfasst: Sonntag 29. Dezember 2013, 14:54
von darktrym
Du meinst der Ersteller hat extra für uns den Text umkodiert? Ich hoffe das kommt bei deinem Silvesterabend besser an.
Re: Anfänger-Frage :
Verfasst: Sonntag 29. Dezember 2013, 15:00
von Hyperion
@darktrym: Wie kommst Du darauf, dass der OP den Text UTF-8 kodiert rumliegen hat? Also ich kann hier ohne Probleme aus einem Editor Text in CP1252 Kodierung per Copy & Paste einfügen, welcher Umlaute enthält...
Re: Anfänger-Frage :
Verfasst: Sonntag 29. Dezember 2013, 15:36
von BlackJack
@bwbg: Klar kann man „prozedural verdorben” sein. Das einzig Wahre™ ist funktional. Haskell über alles!

Re: Anfänger-Frage :
Verfasst: Sonntag 29. Dezember 2013, 16:34
von bwbg
@BlackJack: LYAH liegt hier noch so vorwurfsvoll mit einem Lesezeichen (IIRC bei Monoids) rum. Irgendwann hat mein Verstand ausgesetzt. Vielleicht klappt es mit Festtagsspeck besser
