[Python-de] probleme lektion 4.4

Dinu C. Gherman gherman at darwin.in-berlin.de
Fri Jan 5 21:37:18 EST 2001


schibumi at gmx.net wrote:
> 
> hi,
> ich versuche mir gerade python beizubringen <mit hilfe des tutorials>,
> aber ab und an verzweifle ich an den ausgsaben meines pc.
> hier mein problem: kapitel 4.4 <breaks,continues,else>, so soll es
> aussehen:
> 
> >>> for n in range(2, 10):
> ...     for x in range(2, n):
> ...         if n % x == 0:
> ...            print n, 'equals', x, '*', n/x
> ...            break
> ...     else:
> ...          print n, 'is a prime number'
> ...
> 2 is a prime number
> 3 is a prime number
> 4 equals 2 * 2
> 5 is a prime number
> 6 equals 2 * 3
> 7 is a prime number
> 8 equals 2 * 4
> 9 equals 3 * 3
> 
> und das ist was ich herausbekommen habe < xx| ist zeilenmarkierung
> meinereiner, zwecks übersicht >:
> 
> 01| >>> for n in range (2, 10):
> 02|         for x in range (2, n):
> 03|             if n % x == 0:
> 04|                     print n, '=', x, '*',n/x
> 05|                     break
> 06|             else:
> 07|                     print n, 'primzahl'
> 08|
> 09|
> 10|3 primzahl
> 11|4 = 2 * 2
> 12|5 primzahl
> 13|5 primzahl
> 14|5 primzahl
> 15|6 = 2 * 3
> 16|7 primzahl
> 17|7 primzahl
> 18|7 primzahl
> 19|7 primzahl
> 20|7 primzahl
> 21|8 = 2 * 4
> 22|9 primzahl
> 23|9 = 3 * 3
> 24|>>>
> 
> die syntax ist die gleiche, aber bei der ausgabe <ab zeile 10> fehlt die
> zahl 2, obwohl laut range-funktion ab dieser angefangen werden müsste,
> desweiteren werden einige ausgaben wiederholt <zeile 12-14, 16-20>, was mir nicht
> in den kopf will warum es wiederholt wird.
> und zeile 22 und 23 sind ein widerspruch.
> 
> hat einer dafür eine erklärung und evetuell eine lösung meines problems.
> wäre sehr dankbar dafür.

Ja: wenn Du die Zeilen 6 und 7 Deines Programmes um eine
Stufe nach links "herausrueckst" (auf die Ebene der vor-
herigen for-Anweisung), dann gibt es keine doppelten Aus-
gabezeilen mehr... und auch die 2 kommt dann korrekt als
prim heraus...

Dinu

-- 
Dinu C. Gherman
................................................................
"The only possible values [for quality] are 'excellent' and 'in-
sanely excellent', depending on whether lives are at stake or 
not. Otherwise you don't enjoy your work, you don't work well, 
and the project goes down the drain." 
                    (Kent Beck, "Extreme Programming Explained")



More information about the Python-de mailing list