Verbindung hergestellt.connected.
num: 29595
------------------------- GRUPPE: de.sci.mathematik FROM : Stefan RamDATE : 18 Dec 2025 20:32:24 GMT TEMA : Quadratwurzeln beim Abendessen --------------------------------------------- Habe soeben während des Abendessens ein kleines Programm geschrieben, das Quadratwurzeln erzeugt, die sich dem Argument selbständig anpassen. Hier sieht man drei Beispielausgaben: .- \|x .--- \|x+y .- |x |- \|y . Eine rechteckige Fläche aus Schriftzeichen wird durch eine "Box" beschrieben: class Box: __slots__=["content","width","origin","baseline"] def __init__( self, content, width, baseline ): self.content=content self.width=width self.baseline=baseline return def __str__( self ): return "\n".join(self.content) . Die Wurzelklasse enthält nur die einzige Methode "render_ascii_display", welche eine Quadratwurzel erzeugt: class Sqrt: def render_ascii_display( self, operand ): # add bar above content=["-" * operand_box.width]+operand_box.content new_content = [] # add bar left for i, line in enumerate( content ): if i == 0: prefix = " ." elif i == len( content )-1: prefix = "\|" else: prefix = " |" new_content.append( prefix + line ) content = new_content bar_box = Box(content, 2+operand_box.width,operand_box.baseline) return bar_box . Hierzu wird eine Linie über den Operanden gemalt und eine Linie links von ihm, die ganz oben und ganz unten noch mit " ." beziehungsweise "\|" verziert wird. Da die Klassen für Variablen, Summen und Quotienten noch nicht geschrieben wurden, werden diese Operanden in dem folgenden Hauptprogramm dann manuell formatiert: sqrt = Sqrt() operand_box = Box( ["x"], 1, 0 ) print(sqrt.render_ascii_display(operand_box)) print() operand_box = Box( ["x+y"], 3, 0 ) print(sqrt.render_ascii_display(operand_box)) print() operand_box = Box( ["x","-","y"], 1, 1 ) print(sqrt.render_ascii_display(operand_box)) print() . Die Ausgabe ist ganz oben zu sehen. head: