Seite 1 von 1

Circle in Circle

Verfasst: Donnerstag 5. Mai 2022, 15:12
von jschuet6
Hey Leute :)
Ich habe eine Frage und zwar muss ich mehrere Kreise ,,ineinander" zeichnen, jedoch mit dem Abstand 8 von Kreis zu Kreis.
Hier ist mein Code :)

Könnte mir jemand sagen wie man das genau eingibt ?
Danke euch :=) :lol:

import turtle
import math
import random as rd

tr = turtle.Turtle()
screen = turtle.Screen()
screen.bgcolor('lightblue')
tr.shape('turtle')
tr.speed(20)


#x = int (input('How much circles do you prefere?:'))
x=6


r = 50

for i in range(x):
tr.circle(r*i)
tr.up()
tr.sety((r*i)*(-1))
tr.down()


turtle.done()

Re: Circle in Circle

Verfasst: Donnerstag 5. Mai 2022, 17:58
von __blackjack__
@jschuet6: Wo genau ist denn das Problem? Mit welchem Abstand werden sie denn momentan gezeichnet?

Anmerkungen zum Quelltext: Weder `random` noch `math` werden verwendet, warum importierst Du die Module?

Verwende als Namen keine kryptischen Abkürungen. Also nicht `random` mit `rd` abkürzen und auch nicht `turtle` mit `tr`. Da das Modul auch `turtle` heisst, würde es sich anbieten nicht das Modul zu importieren, sondern gezielt die Namen aus dem Modul, die verwendet werden.

Auch für `x` und `r` sollte man sinnvolle Namen verwenden. Das könnte auch helfen die Frage zu beantworten mit welchem Abstand die Kreise in dem vorhandenen Code gezeichnet werden.

Re: Circle in Circle

Verfasst: Sonntag 8. Mai 2022, 15:04
von __blackjack__
Ich habe das mal in Hy umgesetzt, weil ich es witzig finde das man Emojis als Variablennamen verwenden kann, beispielsweise für eine Schildkröte:

Code: Alles auswählen

#!/usr/bin/env hy3
(import [turtle [Screen Turtle done]])

(defmain [&rest args]
  (.bgcolor (Screen) "lightblue")
  (setv 🐢 (Turtle "turtle")
        circle-count 42
        circle-distance 8)
  (.speed 🐢 20)
  (for [i (range circle-count)]
    (setv radius (* circle-distance i))
    (doto 🐢
      (.circle radius)
      (.up)
      (.sety (- radius))
      (.down)))
  (done))

Re: Circle in Circle

Verfasst: Sonntag 8. Mai 2022, 15:13
von narpfel
Meiner Meinung immer noch einer der größten Fehler von Python3, keine Emoji und Symbole in Variablennamen zu erlauben. Ruby ist halt doch besser. 👿