Verfasst: Mittwoch 22. Juli 2009, 10:44
Die ersten Remarks würde ich in einen Docstring des Moduls verwandeln.
Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
Code: Alles auswählen
while len(numbers) != n:
try:
self.screen.addstr(self.cursory + len(numbers) + 2, self.cursorx, "> ")
numbers += [int(self.screen.getstr())]
if numbers[-1] < 1:
raise NegativeNumber(numbers[-1])
continue
except ValueError:
pass
except NegativeNumber:
numbers.pop()
self.screen.move(self.cursory + len(numbers) + 2, self.cursorx + 8)
self.screen.clrtoeol()
Code: Alles auswählen
if n < self.height:
height, width = self.height, self.width
else:
height, width = n + 2, self.width + n / 100
pad = curses.newpad(height, width)
Wegen:birkenfeld hat geschrieben:Warum muss man im Menü mit Space bestätigen, statt Enter?
Nachzulesen hier: http://docs.python.org/library/curses.htmlKEY_ENTER Enter or send (unreliable)
Eydu hat geschrieben:in Zeile 63 würde ich erwarten, dass die "is_primitive"-Funktion verwendet wird.
Code: Alles auswählen
# Der hier verwendete Algorithmus zur Erzeugung primitiver PTs
# benutzt die zwei Hilfsvariablen "s" und "t". Für s und t
# gelten drei Bedingungen:
# 1. t < s
# 2. s und t sind teilerfremd.
# 3. Wenn s gerade, dann t ungerade und umgekehrt.
while True:
for t in range(1 + s % 2, s, 2):
if euklid_algorithm(s, t) == 1:
yield (2 * s * t, s**2 - t**2, s**2 + t**2)
s += 1
Code: Alles auswählen
string = "%d, %d und %d sind %s Pythagoreisches Tripel%s" % \
(leg_a, leg_b, hypothenuse, message_var[message_key][0], message_var[message_key][1])
self.screen.addstr(self.cursory + 6, self.cursorx -10, string)