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?

Array, cmd, Code, künstliche Intelligenz, Programmiersprache, Python, Terminal, Python 3, Pygame, Tkinter, Pycharm, Discord, Discord Bot, ChatGPT
Programmieren in C: Probleme mit der IDE?

Hallo! Im Studienvorbereitungskurs habe ich C gelernt. Wir haben die IDE "Devcpp" genutzt. An der Uni hat auch alles wunderbar geklappt, aber Zuhause bleibt das Programm nicht stehen. Ein "Hello World" z.B. kann ich nicht sehen, weil es die Konsole schließt, sobald das Programm durch ist.

Da das Programm bei mir auch nicht schön dargestellt ist (mit manchen Programmen hat mein Rechner irgendwie ein Problem, dass irgendwas mit der Auflösung nicht stimmt und das Programm irgendwie unscharf ist - aber anderes Thema), habe ich mir gedacht, die IDE zu wechseln und ein paar auszuprobieren.

Ich würde übrigens gerne gute Tipps annehmen. Ich brauche an sich nicht viel, weil ich es erst gelernt habe. Ein Programm, was mir eine Datei erstellt, ein bisschen farbig unterstützt und vielleicht auch bei der Eingabe (automatische zweite Klammer oder so), ein Debugger wäre auch ganz nett, in Python habe ich gern mit dem gearbeitet.. Oh, und ich möchte lokal arbeiten können..

Ich habe dann aber CodeLite und CodeBlocks ausprobiert und das hat irgendwie gar nicht funktioniert.. Ich bekam zwei Mal die Fehlermeldung, dass ich keinen Compiler hätte. In CodeLite kann ich gar nicht erst das Programm ausführen, welches ich geschrieben habe, in CodeBlocks klappt es, aber ich bekomme eine Fehlermeldung ganz am Anfang, dass der Complier fehlt und der Debugger ist ausgegraut.

Ich habe mich damit überhaupt nicht beschäftigt, sondern wollte einfach nur ein paar simple Programme rein aus Spaß ander Freude programmieren, ich bin ein wenig verunsichert und wirklich schlau bin ich aus dem Internet nicht geworden. Ich habe nur die Programmierkenntnisse, weil es mir Spaß gemacht hat.. Mehr aber auch nicht... :I

Kann mir jemand weiterhelfen, was ich tun muss, damit alles funktioniert? ^^"

Computer, App, IT, programmieren, IDE, Code, Programmiersprache, Softwareentwicklung, Webentwicklung, C (Programmiersprache), Entwicklungsumgebung
Wie behebe ich die Fehlermeldung beim starten des fabric Servers?

Beim starten der Start.bat Datei für den Minecraft Fabric server bekomme ich diese Fehlermeldung:

Uncaught exception in thread "main"

java.lang.RuntimeException: An exception occurred when launching the server!

at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:71)

at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69)

Caused by: java.lang.RuntimeException: Error invoking MC server bundler: java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 52.0

at net.fabricmc.loader.impl.game.minecraft.BundlerProcessor.process(BundlerProcessor.java:102)

at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.locateGame(MinecraftGameProvider.java:193)

at net.fabricmc.loader.impl.launch.knot.Knot.createGameProvider(Knot.java:175)

at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:130)

at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68)

at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23)

at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69)

... 1 more

Caused by: java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 52.0

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.lang.ClassLoader.defineClass(Unknown Source)

at net.fabricmc.loader.impl.game.minecraft.BundlerProcessor$1.loadClass(BundlerProcessor.java:65)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at net.fabricmc.loader.impl.game.minecraft.BundlerProcessor.process(BundlerProcessor.java:85)

... 7 more

kann mir jemand helfen es zu beheben?

Bild zum Beitrag
Server, Mods, Java, Minecraft, Code, Minecraft Server, Serverprobleme, Bukkit, Forge, Spigot, fabric
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
Programm funktioniert nicht brauche Hilfe?

Brauche Hilfe. bei diesem Python Programm ich möchte das aus einer Textdatei Wörter zufällig ausgewählt werden und dann in einem Browser auf einer website eingefügt werden und dann ein Button auf der Seite gedrückt wird und falls es falsch ist die Wörter löscht und wieder von vorne anfängt.

from lib2to3.pgen2 import driver

import random

import time

from selenium import webdriver

from selenium.webdriver.chrome.service import Service

from selenium.webdriver.common.by import By # Neu: By importieren

# Funktion zum Einlesen der Wörter aus einer Textdatei und zufällige Auswahl von 6 Wörtern

def get_random_words_from_file(file_path, num_words=6):

with open(file_path, 'r', encoding='utf-8') as f:

words = f.read().splitlines()

return random.sample(words, num_words)

# Funktion zur Automatisierung des Browsers

def automate_browser(word_list, url, textfield_selector, button_selector, result_selector):

# WebDriver für Chrome starten mit dem Service-Objekt

service = Service('/usr/local/bin/chromedriver') # Pfad zum chromedriver anpassen

driver = webdriver.Chrome(service=service)

try:

# Webseite aufrufen

driver.get(url)

while True:

# Wörter in das Textfeld eingeben

textfield = driver.find_element(By.CSS_SELECTOR, textfield_selector).text # Neue Methode verwenden

textfield.clear() # Textfeld leeren

textfield.send_keys(' '.join(word_list)) # Wörter einfügen

# Button klicken

button = driver.find_element(By.CSS_SELECTOR, button_selector) # Neue Methode verwenden

button.click()

# Kurze Pause, um auf die Reaktion der Seite zu warten

time.sleep(2)

# Ergebnis überprüfen

result = driver.find_element(By.CSS_SELECTOR, result_selector) # Neue Methode verwenden

if "korrekt" in result.lower():

print("Eingabe war korrekt!")

break

else:

print("Eingabe war falsch, versuche erneut...")

# Neue Wörter auswählen

word_list = get_random_words_from_file("words.txt")

textfield.clear()

time.sleep(1)

finally:

pass

# Beispielhafte Verwendung:

if __name__ == "__main__":

# Pfad zur Datei mit den Wörtern

file_path = '/usr/local/bin/words.txt'

# URL der Webseite mit dem Textfeld und Button

url = 'URL einfügen'

# CSS-Selektoren für das Textfeld, den Button und das Ergebnisfeld

textfield_selector = '#input1' # Korrekter CSS-Selektor eingeben

button_selector = '#onboarding-form-submit-button' # Korrekter CSS-Selektor eingeben

result_selector = '#onboarding-form-submit-button' # Korrekter CSS-Selektor eingeben

# 12 zufällige Wörter aus der Datei auswählen

word_list = get_random_words_from_file(file_path)

# Automatisierung starten

automate_browser(word_list, url, textfield_selector, button_selector, result_selector)

driver.quit()

Webseite, Code, Programmiersprache, Python, Python 3
JS Taschenrechner, Dezimal in Binär und andersherum auch?

Hallo Zusammen,
ich bin seit knapp 3 Wochen in meiner Ausbildung und sollte einen Taschenrechner programmieren, was bis jetzt auch geklappt hat. Nun habe ich eine neue Aufgabe dazu bekommen, nämlich mit 2 Radio Buttons mir jeweils anzeigen zu lassen: Binär und Dezimal.
Ich bin absolut hilflos und freue mich über mögliche Lösungen und HIlfe. Danke im voraus.

<!DOCTYPE html>
<html lang="de">
   <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Taschenrechner No. 3</title>
      <script>
         let aktuellesErgebnis = 0;
         let modus;
         let aktuelleZahl;
         function AddLetter(zahl)
         {
         if(modus == null) 
         {
         document.getElementById("textboxDisplay").value = zahl;
         modus = "Nummern";
         }
         else
         {
         document.getElementById("textboxDisplay").value += zahl;
         }
         }
         function Plus()
         {
         Hilfe();
         document.getElementById("textboxDisplay").value = "";
         modus = "Plus";
         }
         function Minus()
         {
         Hilfe();
         document.getElementById("textboxDisplay").value = "";
         modus = "Minus";
         }
         function Mal()
         {
         Hilfe();
         document.getElementById("textboxDisplay").value = "";
         modus = "Mal"
         }
         function Geteilt()
         {
         Hilfe();
         document.getElementById("textboxDisplay").value = "";
         modus = "Geteilt"
         }
         function Restwert()
         {
         Hilfe();
         document.getElementById("textboxDisplay").value = "";
         modus = "Modulo"
         }
         function Gleich()
         {
         Hilfe();
         document.getElementById("textboxDisplay").value = aktuellesErgebnis;
         modus = null;
         }
         function Hilfe()
         {
         aktuelleZahl = Number(document.getElementById("textboxDisplay").value);
         if(modus == "Plus")
         {
         aktuellesErgebnis += aktuelleZahl;
         }
         if(modus == "Minus")
         {
         aktuellesErgebnis -= aktuelleZahl;
         }
         if(modus == "Mal")
         {
         aktuellesErgebnis *= aktuelleZahl;
         }
         if(modus == "Geteilt")
         {
         aktuellesErgebnis /= aktuelleZahl;
         }
         if(modus == "Modulo")
         {
         aktuellesErgebnis %= aktuelleZahl;
         }
         if(modus == null || modus == "Nummern")
         {
         aktuellesErgebnis = aktuelleZahl;
         }
         }
         function Weg()
         {
         document.getElementById("textboxDisplay").value = "";
         aktuellesErgebnis = 0;
         modus = null;
         }
      </script>
   </head>
   <body>
      <input type="radio" name="Umrechnung" value="Binär" />
      <input type="radio" name="Umrechnung" value="Dezimal" />
      <input id="textboxDisplay" readonly />
      <input type="button" value="1" onclick="AddLetter('1')" />
      <input type="button" value="2" onclick="AddLetter('2')" />
      <input type="button" value="3" onclick="AddLetter('3')" />
      <input type="button" value="4" onclick="AddLetter('4')" />
      <input type="button" value="5" onclick="AddLetter('5')" />
      <input type="button" value="6" onclick="AddLetter('6')" />
      <input type="button" value="7" onclick="AddLetter('7')" />
      <input type="button" value="8" onclick="AddLetter('8')" />
      <input type="button" value="9" onclick="AddLetter('9')" />
      <input type="button" value="0" onclick="AddLetter('0')" />
      <input type="button" value="+" onclick="Plus()" />
      <input type="button" value="-" onclick="Minus()" />
      <input type="button" value="*" onclick="Mal()" />
      <input type="button" value="/" onclick="Geteilt()" />
      <input type="button" value="Mod" onclick="Restwert()" />
      <input type="button" value="Löschen" onclick="Weg()" />
      <input type="button" value="=" onclick="Gleich()" />
   </body>
</html>
HTML, Webseite, JavaScript, Code, Programmiersprache
WebGL - Clip Space | Pixel Space?
// Renderer Beispiel
 render(){
       const s2  = new Square(300, 100, 70, [0, 1, 1, 1]);
       s2.setup(this.context, this.program); 
       s2.render(this.program, this.context, deltaTime);

       this.vertexManager.draw(3, 0, 4, 100, 100, 0, [0,0,1,1]);
 }
// 

export class Square extends Renderable {
    constructor (x, y, size, color) {
        super();
        this.x = x;
        this.y = y;
        this.size = size;
        this.color = color;
        this.vertices = new Float32Array([
            -size / 2, -size / 2,
            size / 2, -size / 2,
            size / 2, size / 2,
            -size / 2, size / 2,
        ]);
        this.vertexBuffer = null;
        this.colorBuffer = null;
        this.transformationMatrix = createIdentityMatrix3();
    }

    setup (gl, program) {
        this.vertexBuffer = gl.createBuffer();
        gl.bindBuffer(gl.ARRAY_BUFFER, this.vertexBuffer);
        gl.bufferData(gl.ARRAY_BUFFER, this.vertices,  gl.STATIC_DRAW);
    }

    updateTransformationMatrix (x, y, scaleX, scaleY, angle) {
        const translationMatrix = createTranslationMatrix(x, y);
        const rotationMatrix = createRotationMatrix(angle);
        const scalingMatrix = createScalingMatrix(scaleX, scaleY);

        // Combine the matrices: translation * rotation * scaling
        const combinedMatrix = multiplyMatrices(rotationMatrix,          multiplyMatrices(translationMatrix, scalingMatrix));

        // Save the transformation matrix
        this.transformationMatrix = combinedMatrix;
    }


    render (program, gl, camera, deltaTime) {
        gl.bindBuffer(gl.ARRAY_BUFFER, this.vertexBuffer);

        // Re-enable the vertex attribute array
        const positionLocation = gl.getAttribLocation(program, 'a_position');
        gl.enableVertexAttribArray(positionLocation);
        gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);

        const colorLocation = gl.getUniformLocation(program, 'u_color');
        gl.uniform4fv(colorLocation, this.color);

        const matrixLocation = gl.getUniformLocation(program, 'u_matrix');
        this.updateTransformationMatrix(this.x, this.y, 1.0, 1.0,  0);
        gl.uniformMatrix3fv(matrixLocation, false, this.transformationMatrix);

        gl.drawArrays(gl.TRIANGLE_FAN, 0, this.vertices.length / 2 + 1);
    }
}

export default class VertexManager {
    constructor (gl, program) {
        this.gl = gl;
        this.program = program;
        this.buffers = new Map();
        this.initBuffers();
    }

    initBuffers () {
        this.createBuffer(BUFFER_TYPES.CIRCLE, createPolygonVertices(64, 1));
        this.createBuffer(BUFFER_TYPES.SQUARE, new Float32Array([
            -0.5, -0.5,
            0.5, -0.5,
            0.5, 0.5,
            -0.5, 0.5,
        ]));
    ....
    }

    createBuffer (type, vertices) {
        const buffer = this.gl.createBuffer();
        this.gl.bindBuffer(this.gl.ARRAY_BUFFER, buffer);
        this.gl.bufferData(this.gl.ARRAY_BUFFER, vertices, this.gl.STATIC_DRAW);
        this.buffers.set(type, { buffer, vertexCount: vertices.length / 2 });
    }

    draw (type, x, y, scaleX, scaleY, rotation, color) {
        const { buffer, vertexCount } = this.buffers.get(type);

        this.gl.bindBuffer(this.gl.ARRAY_BUFFER, buffer);

        // Re-enable the vertex attribute array
        const positionLocation = this.gl.getAttribLocation(this.program, 'a_position');
        this.gl.enableVertexAttribArray(positionLocation);
        this.gl.vertexAttribPointer(positionLocation, 2, this.gl.FLOAT, false, 0, 0);

        // Setup the color
        const colorLocation = this.gl.getUniformLocation(this.program, 'u_color');
        this.gl.uniform4fv(colorLocation, color);

        const matrixLocation = this.gl.getUniformLocation(this.program, 'u_matrix');
        // Create transformation matrices directly in pixel space
        const translationMatrix = createTranslationMatrix(x, y);
        const rotationMatrix = createRotationMatrix(rotation);
        const scalingMatrix = createScalingMatrix(scaleX, scaleY);

        // Combine them: translationMatrix * rotationMatrix * scalingMatrix
        const combinedMatrix = multiplyMatrices(rotationMatrix, multiplyMatrices(translationMatrix, scalingMatrix));

        // Pass the transformation matrix to the shader
        this.gl.uniformMatrix3fv(matrixLocation, false, combinedMatrix);

        this.gl.drawArrays(this.gl.TRIANGLE_FAN, 0, vertexCount);
    }
}

Meine Frage ist, warum mein Quadrat korrekt im Pixel-Space gerendert wird, während die draw-Operation in meinem VertexManager Clip-Space zeichnet, obwohl beide denselben Shader verwenden. Ich habe das Problem schon seit Stunden versucht zu lösen. Hat jemand eine Lösung oder einen Hinweis, was ich möglicherweise falsch mache?

Bild zum Beitrag
JavaScript, Code, OpenGL, Webentwicklung
Warum funktioniert mein Arduino Code nicht?

Ich möchte mit einem Sensor einen Sound abspielen und wenn der Sensor ausgeht, soll ein Verabschiedungssound gespielt werden.

Ich benutze Arduino Nano und DfPlayer Mini.

Es wird kein Sound abgespielt.

Danke im Voraus.

Der Code lautet:

#include <SoftwareSerial.h>
#include <DFRobotDFPlayerMini.h>

// DFPlayer Mini setup
SoftwareSerial mySoftwareSerial(2, 3); // RX, TX for DFPlayer Mini
DFRobotDFPlayerMini dfPlayer;

const int seatMatPin = 7; // Pin connected to seat occupancy mat
bool wasSeated = false;

void setup()
{
  // Start serial communication for debugging
  Serial.begin(9600); // Start serial communication at 9600 baud rate

  // Initialize serial for DFPlayer Mini
  mySoftwareSerial.begin(9600);

  // Try to start DFPlayer Mini
  if (!dfPlayer.begin(mySoftwareSerial)) {
    Serial.println("DFPlayer Mini konnte nicht gestartet werden."); // Print error message
    while (true); // Stop execution here if DFPlayer Mini fails to start
  }

  Serial.println("DFPlayer Mini bereit."); // Print success message

  // Initialize seat mat pin
  pinMode(seatMatPin, INPUT_PULLUP); // Assuming mat signal is active LOW
}

void loop()
{
  // Read seat mat state
  bool isSeated = digitalRead(seatMatPin) == LOW; // LOW means seat is occupied

  if (isSeated && !wasSeated) {
    // Seat was just occupied
    Serial.println("Sitz wurde besetzt. Begrüßungsmelodie abspielen."); // Print message
    dfPlayer.play(1); // Play greeting sound
    wasSeated = true;
  }
  else if (!isSeated && wasSeated) {
    // Seat was just vacated
    Serial.println("Sitz wurde verlassen. Verabschiedungsmelodie abspielen."); // Print message
    dfPlayer.play(2); // Play farewell sound
    wasSeated = false;
  }

  delay(100); // Small delay for stability
}
Arduino, Code, Programmiersprache, Arduino Nano, Arduino IDE
Wie findet Ihr denn Code?
noten = []

def noten_schuelern(name, mathe, deutsch, englisch, bericht):
    noten.append({"Name": name, "Mathe": mathe, "Deutsch": deutsch, "Englisch": englisch, "Bericht": bericht})
    print(f"Der Schüler {name} wurde hinzugefügt mit seiner Information.")


def durchschnit(name, mathe, deutsch, englisch):
    info = []
    schnitt = (mathe + deutsch + englisch) / 3
    runden = round(schnitt, 4)
    info.append({name, runden})
    print(f"Der Schüler {name} mit dem Notenschnitt von {runden}")


def schueler_anzeigen(name):
    heraus = [schueler for schueler in noten if name.lower() in schueler["Name"].lower()]
    if heraus:
        print(f"Die Information: {noten}")
    else:
        print("Schüler wurde nicht gefunden!")


def menue():
    while True:
        print("__Menü__")
        print("1. Die Noten der Schüler hinzufügen")
        print("2. Der Durschnitt berechnen")
        print("3. Schüler anzeigen")
        print("4. programm beenden")

        wahl = int(input("Bitte wählen sie einer der Optionen aus:"))

        if wahl == 1:
            name = input("Bitte geben sie denn Name der Schüler ein:")
            mathe = int(input("Mathe Note:"))
            deutsch = int(input("Deutsch Note:"))
            englisch = int(input("Englisch Note:"))
            bericht = input("Schreiben sie informationen üben denn Schüler:")
            noten_schuelern(name, mathe, deutsch, englisch, bericht)

        elif wahl == 2:
            Name = input("Schüler Name:")
            Mathe = int(input("Mathe Note:"))
            Deutsch = int(input("Deutsch Note:"))
            Englisch = int(input("Englisch Note:"))
            durchschnit(Name, Mathe, Deutsch, Englisch)

        elif wahl == 3:
            nname = input("Geben sie denn schüler Namen ein:")
            schueler_anzeigen(nname)

        elif wahl == 4:
            print("Programm wird beendet")
            break
        else:
            print("Bitte geben sie was gültiges ein")


menue()


HABE ALLES ALLEINE PROGRAMMIERT AUßER DIE ZEILE DEF ANZEIGEN
Computer, programmieren, Code, Programmiersprache, Python, Python 3
Python GUI Tkinter Buttons blinken bei laufender Akutalisierung?

Hallo,

ich möchte mit Phyton und der Bibliothek Tkinter eine GUI für ein Kartenspiel programmieren.

Für das Kartenspiel müssen ständig neue Karten geladen werden.

Das heißt, es wird zum Beispiel andauernd überprüft wie viele Karten die Spieler in der Auslage und in der Hand haben und dementsprechend werden dann Labels und Buttons generiert.

Die Idee ist, einfach laufend die GUI in gewissen Abständen (zum Beispiel einige Dutzend Millisekunden) zu aktualisieren.

Wenn ich das mache blinken die Labels und Buttons aber immer auf.

Nach Recherche soll das daran liegen, dass sie immer wieder in zu kurzen Abständen neu erstellt werden.

Man könnte die GUI natürlich immer nur dann neu erstellen lassen, wenn tatsächlich im Spiel etwas passiert.

Das passiert aber andauernd, weswegen es besser ist, einfach laufend die GUI zu aktualisieren.

Gibt es dafür noch eine andere Methode (Zum Beispiel PyGame anwenden)?

Hier ein Minimalbeispiel:

class DynamicInterfaceApp:
  def __init__(self):
    self.root = Tk()
    self.root.geometry("1000x500")
    self.update_interface_periodically()
  
  def update_interface(self):
    self.my_frame= Frame(self.root, bg="red")
    self.my_frame.place(x=0, y=0, relwidth=1, relheight=1) 
    self.my_button = Button(self.my_frame)
    self.my_button.place(x=0, y=0, width=50, height=50)
   
  def update_interface_periodically(self):
    self.update_interface()
    self.root.after(25, self.update_interface_periodically)

app = DynamicInterfaceApp()
app.root.mainloop()
App, Code, Programmiersprache, Python, Pygame, Tkinter
Python Aufgabe?

Schreiben Sie ein Programm und speichern Sie es als Caesar.py. Ihr Programm soll beim Aufruf drei Programmparameter erhalten: Zwei Dateinamen und eine Ganzzahl. Bei Ausf ¨uhrung soll das Programm den Inhalt der ersten Datei mithilfe der Caesar-Verschl ¨usselung und der Ganzzahl als Schl ¨ussel verschl ¨usseln und in die zweite Datei schreiben. Ihr Programm soll nur Kleinbuchstaben verschl¨usseln und alle anderen Zeichen unver¨andert lassen. Tipp: Legen Sie ein Array f ¨ur alle Zeichen, die verschl ¨usselt werden sollen (Kleinbuchstaben) an, und arbeiten Sie mit diesem Array. Bei der Caesar-Verschl ¨usselung (auch Verschiebechiffre) wird jeder Buchstabe des Klartextes auf einen Geheimtextbuchstaben abgebildet. Dazu werden die Zeichen des Alphabets um eine bestimmte Anzahl (den Schl ¨ussel) nach rechts verschoben. Geht man beim Verschieben ¨uber ’z’ hinaus, dann beginnt man wieder bei ’a’. Beispiel: Aus ’python’ w¨urde mit Schl¨ussel 2 somit ’ravjqp’.
Da habe ich jetzt:

import sys

def caesarencrypt(text, shift):
   encryptedtext = ""
   for char in text:
      if char.islower():
         encryptedtext += chr((ord(char) - ord('a') + shift) % 26 + ord('a'))
      else:
         encryptedtext += char
   return encrypted_text

def main():
   if len(sys.argv) != 4:
      print("Usage: python Caesar.py <inputfile> <outputfile> <shift>")
      sys.exit(1)
   input_filename = sys.argv[1]
   output_filename = sys.argv[2]
   shift = int(sys.argv[3])
   try:
      with open(input_filename, 'r') as file:
         text = file.read()
         encrypted_text = caesar_encrypt(text, shift)
      with open(output_filename, 'w') as file:
         file.write(encrypted_text)
         print(f"Verschlüsselter Text wurde in {output_filename} geschrieben.")
   except FileNotFoundError:
      print(f"Die Datei {input_filename} wurde nicht gefunden.")
      sys.exit(1)

if __name == "__main":
   main()

Ist das so richtig?

___

[Edit 2024-08-12: Quelltext formatiert und eingerückt]

Code, Programmiersprache, Python
Verschlossenen Tresor gekauft, wie bekomme ich den zerstörungsfrei auf? Mystery Tresor?

Guten Abend,

danke das du auf meinen Beitrag gestoßen bist. Ich habe heute den Unnötigsten Kauf meines Lebens getätigt aber meine Inneres Ich musste einfach zuschlagen und hat mir Klargemacht das ich es nicht Bereuen werde. Also worum geht es?
Ich habe bei Kleinanzeigen gestöbert und bin auf rin Inserat in meiner Nähe gestoßen wo ein großer Tresor / Safe verkauft wurde. Dieser wurde verschlossen verkauft als sozusagen einen Mystery Tresor.
Da ich als Kind schon immer Tresore geliebt habe und auch einen kleinen damals zum Geburtstag geschenkt bekommen habe. Konnte ich mich nicht zusammenreißen unf musste den Tresor kaufen.

Über die Herkunft des Tresors. Der Vorbesitzer des Tresors hatte den Tresor in der Werkstatt eines älteren Hauses gefunden, welches er gekauft hat. Zu dem Zeitpunkt war der Tresor auch schon verschlossen und es gab keinerlei Informationen zum Tresor oder zum Code. Daraufhin wollte er das schwere Ding weg haben und hat Ihn an mich Idioten verkauft. Der Tresor stand auf einer Europalette und wurde mir mit einem kleinen Gabelstapler auf den Anhänger gehoben. Ja keiner Sorge ich habe ein Kaufvertrag erstellt und diesen Unterschreiben lassen.

Naja ich hab mich tierisch gefreut über das Stahl Monster. Bis mir aufgefallen ist naja wie bekomme ich das Dinge denn überhaupt auf? Ich würde Ihn ungerne kaputt machen da ich Ihn gerne noch benutzen würde. Ich weiß weder den Code noch wie viele Drehscheiben er hat geschweige denn von welchem Hersteller er ist. Er hat keinerlei Kennzeichnungen oder Typenschilder.

Ich weiß echt nicht was ich machen soll, habe den fetten Klopper jetzt im Garten stehen. Macht mich auch jedesmal Glücklich wenn ich ihn sehe, aber wenn ich Ihn öffnen könnte wäre ich noch Glücklicher. Mir ist Klarr das in dem Safe höchstwahrscheinlich nichts Wertvolles drin ist (falls dort überhaupt was drin sein sollte) aber darum geht es mir auch nicht, meine einzigen Interesse gilt dem Tresor an sich.

Nun zu meiner Hoffnung das mir hier jemand helfen kann. Ich würde mich freuen wenn der Hersteller ermittelt werden könnte. Noch mehr würde ich mich freuen, (und jetzt zum Unrealistischen Part) wenn mir jemand helfen kann ihn zerstörungsfrei zu Öffnen oder mir einen Kontakt weiterleitet der das gegen einen preiswerten Betrag machen kann.

Über den Tresor:

Schätzungsweise 400Kg, er hat ein Mechanisches Zahlenkombinationsschloss mit den Zahlen 0-99. Als ich gegen die Tür geschlagen habe hat es sich angehört als ob eine Glasscheibe drin ist. Außerdem denke ich das in den Wänden und in der Decke Hohlräume oder etwas Steinartiges drin ist.(Villeicht wegen Brandschutz?).

Danke an euch alle die bis hierhin gekommen sind. Danke das ihr versucht mir zu helfen und das Ihr meinen Beitrag gefunden habt. Großes Dankeschön an euch alle.

Ps: Ich stelle ein paar Bilder rein, falls

andere Bilder benötigt werden, kümmere ich mich selbstverständlich darum.

Bild zum Beitrag
Gold, knacken, schluesseldienst, Code, Mechanik, Mystery, Safe, Stahl, Tresor, Waffenschrank, Schatztruhe, Tresor öffnen, Zahlenkombination
Mit 29 Jahren erfolgreich in programmierung werden?

Ich habe das Programmieren leider viel zu spät für mich entdeckt.

Ich habe erst mit 28 Jahren das erste Mal mich mit Programmieren beschäftigt und mit 29 Jahren dann richtig und täglich damit begonnen. Jetzt habe ich etwa 350 Stunden investiert, die ersten kleinen Programme geschrieben und fange langsam an, mein erstes großes Projekt zu bauen (einen Online-Shop, keinen echten, nur fürs Portfolio und zum Üben). Es macht mir unheimlich viel Spaß.

Jetzt die Frage: Ist es schon zu spät, um ein sehr guter Programmierer zu werden?

Ich habe jetzt die Zeit, mich täglich relativ lange damit zu beschäftigen, aktuell etwa 7-8 Stunden täglich, 3 Stunden morgens und 4-5 Stunden abends. Am Wochenende bis zu 12 Stunden.

Ich habe mir vorgenommen, in den nächsten 10 Jahren durchschnittlich 5 Stunden täglich zu programmieren.

Heißt das, nach den 10 Jahren bin ich 39 Jahre alt und habe über 18.000 Stunden Programmiererfahrung. Man sagt ja, nach 10.000 Stunden ist man in einem Bereich meistens sehr gut und erfahren.

Ist es also möglich, in den 10 Jahren von 29 bis 39 Jahren ein sehr erfolgreicher Programmierer zu werden, ein erfolgreiches IT-Startup zu gründen und mindestens eine große App herauszubringen, die viele aktive Nutzer in Deutschland hat und relativ bekannt ist?

App, Technik, IT, Webseite, Programmierer, programmieren, Ausbildung, Code, Informatik, Informatiker, Informationstechnik, Programmiersprache, Softwareentwicklung, Webdesign, Webentwicklung
Javascript Variablen ein/ersetzen - Matomo - Domain?

Moinsen,

ich bin dabei, mir ein Script für Multidomain Tracking zu bauen.
Also Cookies auf mehreren Domains setzen usw.
Das meiste funktioniert soweit wie erwartet.
Das Script soll dynamisch über Cloudflare Zaraz geladen werden.

Jetzt fehlt mir bis jetzt soweit nur noch das einsetzen der Session ID, die ich generiere und die Domain, die aktuell aufgerufen wurde.

In dem Code möchte ich gerne die Variable sessionID sowie die Variable Domain einsetzten lassen.
Wie kann ich das bewerkstelligen?

Ich bin leider nicht ganz so erfahren in Javascript.
Ich habe schon einiges getestet aber es will einfach nicht.

Die Sache ist die, dass es mit Vanilla JS laufen müsste. Also ohne extras usw.

Es soll halt nur JS per Cloudflare Zaraz eingebunden werden.

Der/Die beiden Code Bestandteile sind folgende:

Einmal der Matomo Tag Manager      

<!-- Matomo Tag Manager -->
<script>
  var _mtm = window._mtm = window._mtm || [];
  _mtm.push({'uid':+sessionID });
  _mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'});
  (function() {
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src='https://xyz.de/js/container_12345.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo Tag Manager -->


Sowie der JS Tracker Code

var _paq = window._paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  _paq.push(["setDocumentTitle", document.domain + "/" + document.title]);
  _paq.push(["setCookieDomain" +DomainX]);
  _paq.push(["setDomains", ["*xyz.de"]]);
  _paq.push(["enableCrossDomainLinking"]);
  _paq.push(['setUserId', sessionID]);
  _paq.push(['enableHeartBeatTimer', 20]);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  _paq.push(['trackVisibleContentImpressions', true, 750]);
  (function() {
    var u="https://xyz.de/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', 'X']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<noscript><p><img referrerpolicy="no-referrer-when-downgrade" src="https://xyz.de/matomo.php?idsite=3&amp;rec=1" style="border:0;" alt="" /></p></noscript>
<!-- End Matomo Code -->
Linux, HTML, Webseite, JavaScript, HTML5, Code, PHP, Programmiersprache, Script, Webentwicklung, Variablen, cloudflare

Meistgelesene Beiträge zum Thema Code