Hallo,

folgender Python-Code mit der Pygame Library sollte funktionieren. Es werden die Punkte berechnet, die als Mittelpunkte des kleineren Kreises dienen. Jedes Mal, wenn der Kreis gezeichnet wird, wird der nächste Punkt als neuer Mittelpunkt gewählt. Je mehr Punkte du hast, desto langsamer bewegt sich der kleinere Kreis.

Ich hoffe ich konnte helfen.

import pygame
import math

WIDTH = 800
HEIGHT = 800
RADIUS_CIRCLE_1 = 100
RADIUS_CIRCLE_2 = 50
POINTS = 200
START_POSITION = 0

points = []

def calculatePoints():
    #Calculates all points of the center position of the smaller circle
    increment = 360/POINTS
    for i in range(POINTS):
        angle = i*increment
        x = WIDTH/2 + math.cos(math.radians(angle))*(RADIUS_CIRCLE_1+RADIUS_CIRCLE_2)
        y = HEIGHT/2 + math.sin(math.radians(angle))*(RADIUS_CIRCLE_1+RADIUS_CIRCLE_2)
        points.append([x, y])

def drawCircles(win):
    global START_POSITION
    #Draw the center circle
    pygame.draw.circle(win, (0,0,255), (WIDTH/2, HEIGHT/2), RADIUS_CIRCLE_1, 3)
    #Draw the smaller circle
    pygame.draw.circle(win, (0,0,0), points[START_POSITION], RADIUS_CIRCLE_2, 3)
    #+= 1 -> Move clockwise, -= 1 -> Move counterclockwise
    START_POSITION += 1
    if START_POSITION == POINTS-1 or START_POSITION == -POINTS-1:
        START_POSITION = 0

calculatePoints()

def main():
    win = pygame.display.set_mode((WIDTH, HEIGHT))
    clock = pygame.time.Clock()
    run = True
    while run:
        clock.tick(30)
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                run = False
                break

        win.fill((255, 255, 255))
        drawCircles(win)
        pygame.display.flip()

    pygame.quit()

if __name__ == "__main__":
    main()
...zur Antwort
Java-Algorithmus zur Berechnung des Buchstabens mit der größten Lücke?

Hallo,

kann mir dabei bitte jemand helfen:

"Ermittle den Buchstaben mit der größten Lücke. Eine Lücke ist die Anzahl der Buchstaben, die verschieden von dem zu untersuchenden Buchstaben ist."

Das bedeutet also, ich soll von einem Text, den ich im Quellcode festlege, den Buchstaben mit dem größten Abstand zum nächsten selben Buchstaben ausgeben.

Ich habe es schon so versucht:

  public static void main(String[] args) {
    String text = "Das ist ein Beispieltext";
    char[] buchstaben = text.toCharArray();
    text.toLowerCase();
  
    int hoechste_a = 0;
    int hoechste_b = 0;
    ...
    int hoechste_z = 0;
  
    int buchstabenfolge_a = 0;
    ...
    int buchstabenfolge_z = 0;
  
    for (int i = 1; i < buchstaben.length; i++) {
      if (buchstaben[i-1] != 'a' && buchstaben[i] == 'a') {
        while (hoechste_a < buchstabenfolge_a) {
          hoechste_a = buchstabenfolge_a;
        }
  
        buchstabenfolge_a = 0;
      }
      else {
        buchstabenfolge_a = buchstabenfolge_a +1;
      }
  
      // Das selbe nochmal mit den anderen Buchstaben.
    }
  
    int beispiel[] = new int[27];
    beispiel[0] = hoechste_a;
    beispiel[1] = hoechste_b;
    ...
    beispiel[26] = hoechste_z;
  
    Arrays.sort(beispiel);

    System.out.println("Der Buchstabe mit der größten Lücke ist: " +beispiel[26]);
  }
}

Das Ganze funktioniert auch, jedoch gibt es nur die Länge der längsten Lücke aus und nicht den Buchstaben.

Ich weiß, dass es bestimmt einen kürzeren Weg gibt. Auf die Schnelle ist mir aber nur das eingefallen.

Wenn mir jemand weiter helfen kann, wäre ich sehr dankbar.

Gruß

...zum Beitrag

Sorry wegen der Formatierung. Ich hatte es eigentlich anders geschrieben...

...zur Antwort

Das nach "Meine Vermutung wäre 14 und 28" ist ein Layoutfehler und soll heißen:

"2 mal 2 ist 4" und "3 mal 2 ist 6"

...zur Antwort

Optionen-Knopf

...zur Antwort

Info: Bei den Amazon Einstellungen unter "Twitch Einstellungen" steht übrigens dass mein Amazon Konto mit meinem Twitch Konto verbunden ist. Ich habe jodoch kein Twitch Prime.

Gruß

...zur Antwort

Du kannst auch paint dafür nehmen. Das was bei windows drauf ist. Einfach einen Bereich markieren und kopieren. Dann bei einem beliebigen Bild einfügen.

LG:Leyonad

...zur Antwort

Wenn ich Lehrer wäre, würde ich das nich glauben. Da muss schon eine Unterschrift stehen. Wieso besprichst du das nicht mit deinen Eltern. Wenn du nur einen Tag zum lernen hattest, dann sag das einfach deinen Eltern. Dann können sie die Entschuldigung schreiben.

LG:Leyonad

...zur Antwort