Code – die besten Beiträge

Python fehler code bei langen texten?

Ich habe einen Programm in python geschrieben import json
import os


class NotizManager:
    def __init__(self, datei_name="notizen.json"):
        self.datei_name = datei_name
        self.notizen = self.notizen_laden()

    def notizen_laden(self):
        # Lade Notizen aus der JSON-Datei, falls vorhanden
        if os.path.exists(self.datei_name):
            with open(self.datei_name, 'r') as file:
                return json.load(file)
        return []

    def notizen_speichern(self):
        with open(self.datei_name, 'w') as file:
            json.dump(self.notizen, file, indent=4)

    def notiz_hinzufuegen(self, thema, inhalt):
        self.notizen.append({'thema': thema, 'inhalt': inhalt})
        self.notizen_speichern()
        print(f'Notiz "{thema}" wurde hinzugefügt.')

    def alle_notizen_anzeigen(self):
        if not self.notizen:
            print("Es gibt keine gespeicherten Notizen.")
        else:
            for index, notiz in enumerate(self.notizen, start=1):
                print(f'{index}. Thema: {notiz["thema"]}\n   Inhalt: {notiz["inhalt"]}\n')

    def notiz_bearbeiten(self, index, neues_thema, neuer_inhalt):
        if 0 <= index < len(self.notizen):
            self.notizen[index]['thema'] = neues_thema
            self.notizen[index]['inhalt'] = neuer_inhalt
            self.notizen_speichern()
            print(f'Notiz {index + 1} wurde aktualisiert.')
        else:
            print("Ungültiger Index. Bitte gib einen gültigen Notizindex ein.")

    def notiz_loeschen(self, index):
        if 0 <= index < len(self.notizen):
            geloeschte_notiz = self.notizen.pop(index)
            self.notizen_speichern()
            print(f'Notiz "{geloeschte_notiz["thema"]}" wurde gelöscht.')
        else:
            print("Ungültiger Index. Bitte gib einen gültigen Notizindex ein.")


def hauptmenue():
    manager = NotizManager()

    while True:
        print("\n--- Notiz Manager ---")
        print("1. Notiz hinzufügen")
        print("2. Alle Notizen anzeigen")
        print("3. Notiz bearbeiten")
        print("4. Notiz löschen")
        print("5. Beenden")

        auswahl = input("Wähle eine Option (1-5): ")

        if auswahl == '1':
            thema = input("Thema der Notiz: ")
            inhalt = input("Inhalt der Notiz: ")
            manager.notiz_hinzufuegen(thema, inhalt)

        elif auswahl == '2':
            manager.alle_notizen_anzeigen()

        elif auswahl == '3':
            manager.alle_notizen_anzeigen()
            try:
                index = int(input("Gib den Index der Notiz ein, die du bearbeiten möchtest: ")) - 1
                neues_thema = input("Neues Thema: ")
                neuer_inhalt = input("Neuer Inhalt: ")
                manager.notiz_bearbeiten(index, neues_thema, neuer_inhalt)
            except ValueError:
                print("Bitte gib eine gültige Zahl ein.")

        elif auswahl == '4':
            manager.alle_notizen_anzeigen()
            try:
                index = int(input("Gib den Index der Notiz ein, die du löschen möchtest: ")) - 1
                manager.notiz_loeschen(index)
            except ValueError:
                print("Bitte gib eine gültige Zahl ein.")

        elif auswahl == '5':
            print("Programm beendet.")
            break

        else:
            print("Ungültige Auswahl. Bitte wähle eine Option zwischen 1 und 5.")


if __name__ == "__main__":
    hauptmenue()
Das Problem ist wenn ich einen Thema hinzufügen möchte mache ich das Thema rein und danach der Titel, wenn ich aber einen langen Titel rein mache wird sich das print("\n--- Notiz Manager ---")
print("1. Notiz hinzufügen")
print("2. Alle Notizen anzeigen")
print("3. Notiz bearbeiten")
print("4. Notiz löschen")
print("5. Beenden")

mehrmals wiederholen und der text speichert sich nicht warum?

Code, Programmiersprache, Python, Python 3

Pygame Flappy Bird?

Ich habe den folgenden Python-Code mit Pygame programmiert. Bin aber noch ein absoluter Anfänger, daher ist zwischen "#copy start" und "#copy end" der Code von ChatGPT generiert. Die Pipes werden trotzdem nicht angezeigt, weiß jemad woran das liegt?

import pygame
import os
import random

pygame.init()
width = 1280
height = 720
screen = pygame.display.set_mode((width, height), pygame.RESIZABLE)
pygame.display.set_caption("Flappy Bird")
PIPE_WIDTH = 80
PIPE_GAP = 150
PIPE_SPEED = 5
flappyY = 360
score = 0
highscore = 0
pipes = []
pipe_timer = 1
if not os.path.exists("highscore.txt"):
    with open("highscore.txt", "w") as file:
        file.write(str(highscore))
with open("highscore.txt", "r") as rfile:
    highscore = int(rfile.read())

#copy start
class Pipe:
    def __init__(self):
        self.x = width
        self.height = random.randint(100, height - PIPE_GAP - 100)
        self.passed = False
    
    def move(self):
        self.x -= PIPE_SPEED

    def draw(self, screen):
        # Draw upper pipe
        pygame.draw.rect(screen, (0, 255, 0), (self.x, 0, PIPE_WIDTH, self.height))
        # Draw lower pipe
        pygame.draw.rect(screen, (0, 255, 0), (self.x, self.height + PIPE_GAP, PIPE_WIDTH, height - self.height - PIPE_GAP))
    
    def off_screen(self):
        return self.x + PIPE_WIDTH < 0
#copy end

running = True
while running:
    for event in pygame.event.get():
        keys = pygame.key.get_pressed()
        if event.type == pygame.QUIT:
            running = False
    if keys[pygame.K_SPACE]:
        if flappyY > -16:       
            flappyY -= 1
    if flappyY < 704:
        flappyY += 0.4
    if score > highscore:
        highscore = score

    #copy start
    if pipe_timer > 100:
            pipes.append(Pipe())
            pipe_timer = 0

    for pipe in pipes:
        pipe.move()
        pipe.draw(screen)

        pipes = [pipe for pipe in pipes if not pipe.off_screen()]

        pipe_timer += 1
    #copy end


    pygame.display.set_caption(f"Flappy Bird (Highscore: {highscore:.0f})")
    rect = pygame.Rect(640, flappyY, 32, 32)
    #print(flappyY)
    screen.fill((0, 180, 255))
    pygame.draw.rect(screen, "red" , rect)
    pygame.display.update()
pygame.quit()

Vielen Dank und LG

Code, Programmiersprache, Python, Python 3, Pygame, Flappy bird, VS Code, ChatGPT

Meistgelesene Beiträge zum Thema Code