Kreis aus Radiobuttons
So wie ich das sehe mischst du doch wild RAD mit DEG. Wenn dein z1 in RAD ist, musst du im range auch bis 2*PI gehen. Oder einfacher (IMHO) ganzzahlig schreiten (15 Grad / Schritt ist ja ganzzahlig), und *danach* in RAD konvertieren.
Gewoehn dir mal an die Code-Boxen fuer Python-Code zu benutzen, so ist es schwierig, deinen Code zu verwenden.
Und ein paar prints einzustreuen um sich die Werte von Variablen anzuschauen ist eine einfache Uebung, die du ebenfalls exerzieren solltest.
Dann sieht man den Fehler: statt 2PI / 24 rechnest du 24 / 2PI...
Und ein paar prints einzustreuen um sich die Werte von Variablen anzuschauen ist eine einfache Uebung, die du ebenfalls exerzieren solltest.
Dann sieht man den Fehler: statt 2PI / 24 rechnest du 24 / 2PI...
Code: Alles auswählen
import numpy as np
import math
r = 100
z1 = (2*math.pi) / 24
print(z1)
for i in np.arange(0,math.pi*2,z1):
x = math.cos(i)*r
y = math.sin(i)*r
print(x, y)
@Philipp68: Du musst allen `Radiobutton`\s die zusammengehören das selbe Exemplar von einer Unterklasse von `tkinter.Variable` per `variable`-Argument übergeben. Also beispielsweise ein Exemplar von `tkinter.IntVar` wenn das die Zahlen 1 bis 24 aufnehmen soll.
Dein `i` hat allerdings nicht die Werte 1 bis 24. Deswegen ist `i` auch nicht wirklich ein guter Name dafür. Da erwarten die meisten Leser, insbesondere auch als Laufvariable in einer Schleife nur ganze Zahlen. Einbuchstabige Namen sind sowieso oft nicht wirklich gut verständlich. Nenne das `i` mal in `angle` oder um, dann weiss man was der Wert bedeutet.
Und dann kannst Du Dir mit `enumerate()` eine zusätzliche laufende Zahl zu dem Winkelwert erzeugen lassen.
Dein `i` hat allerdings nicht die Werte 1 bis 24. Deswegen ist `i` auch nicht wirklich ein guter Name dafür. Da erwarten die meisten Leser, insbesondere auch als Laufvariable in einer Schleife nur ganze Zahlen. Einbuchstabige Namen sind sowieso oft nicht wirklich gut verständlich. Nenne das `i` mal in `angle` oder um, dann weiss man was der Wert bedeutet.
Und dann kannst Du Dir mit `enumerate()` eine zusätzliche laufende Zahl zu dem Winkelwert erzeugen lassen.