Kurs:Python/Forum/Archiv/2010
Dies ist eine Archivseite. Bitte benutze die aktuelle Diskussionsseite, wenn du eine Diskussion fortführen möchtest. Diese Archivseite sollte nicht verändert werden. |
print "Bereiche addieren"
n = 1
ergebnis1 = 0
ergebnis2 = 0
untergrenze = input ("Untergrenze des Bereichs: ")
obergrenze = input ("Obergrenze des Bereichs: ")
while n != 0:
n = input ("Daten eingeben: ")
if untergrenze < n < obergrenze:
ergebnis1 = ergebnis1 + n
else:
ergebnis2 = ergebnis2 + n
print "Summe der Werte innerhalb des Bereichs: ", ergebnis1
print "Summe der Werte ausserhalb des Bereichs: ", ergebnis2
--Michael Reschke 23:41, 20. Jan. 2010 (CET)
Aufgabe gelöst...
wort1 = raw_input ("Geben Sie das erste Wort ein: ")
wort2 = raw_input ("Geben Sie das zweite Wort ein: ")
zeile = 30 - len(wort1) - len(wort2)
punkte = "."
for i in range (0, zeile):
punkte = punkte + "."
print wort1 + punkte + wort2
--80.132.67.147 00:23, 21. Jan. 2010 (CET)
An einer Lösung wird noch gearbeitet...
print "Gehen Sie bitte weiter. Hier ist nichts zu sehen."
--80.132.67.147 00:25, 21. Jan. 2010 (CET)
Fehlersuche
Das Programm ermittelt den größten gemeinsamen Teiler.
def ggt(a,b):
while b:
a,b=b,a%b
print a, b
return a
Eric sagt: „Die Datei ... enthält den Syntaxfehler unindent does not match any outer indentation level in Zeile 5, Position 17.“
Das Problem ist „return a“.
Jetzt ist es lauffähig...
def ggt(a,b):
while b:
a,b=b,a%b
print a, b
return a
Einrückungsfehler bei return a, allerdings war zuvor die Programmversion ohne die print-Anweisung lauffähig... --Kurs 2010 21:24, 26. Jan. 2010 (CET)
Zur Funktionsweise
a = 9
while a:
print a
a = a - 1
Wenn die Variable a den Wert 0 annimmt, beendet sich die while-Schleife.
Über das =-Zeichen können (offensichtlich) mehreren Variablen neue Werte zugewiesen werden. --Kurs 2010 21:29, 26. Jan. 2010 (CET)
Ich bin da momentan dran. Ich bearbeite die zugehörige Programmieraufgabe und hänge an folgendem Abschnitt:
- Es wird die Quersumme der Positionszahl und der 10 Ziffern berechnet (im Beispiel 2+6+6+0+6+1+2+2+0+0+2+2 = 29)
- Die Zahl wird mit Rest durch 9 geteilt (2)
- Der Rest wird von 8 subtrahiert. Das Resultat ist die Prüfziffer (6).
Also bei mir ergibt 29 / 9 = 3 (Ganzzahl-Division). --Kurs 2010 00:06, 29. Jan. 2010 (CET)
- Möglicherweise 29 / 10 = 2? Werde das auch noch einmal im Programm testen. --Kurs 2010 00:08, 29. Jan. 2010 (CET)
Endlosschleife...
def rekursion (zahl):
while zahl * zahl <= 100:
print zahl * zahl
rekursion (zahl+1)
zahl = 1
rekursion (zahl)
Erwartet hatte ich:
1 4 9 16 25 36 49 64 81 100
Ich erhalte ein anderes Ergebnis und suche noch nach dem Fehler.
Es läuft in dieser Scriptfassung:
def rekursion (zahl):
while zahl <= 10:
print zahl * zahl,
zahl = zahl + 1
zahl = 1
rekursion (zahl)
--Kurs 2010 16:39, 3. Feb. 2010 (CET)