Programmiersprache – die neusten Beiträge

Wie muss ich dieses Programm weiter anpassen?

Die Rechnung mit endlichen (Gleit-)Kommazahlen kann zu Ungenauigkeiten führen, es kann daher wünschenswert sein, ganzzahlige Brüche zu verwenden.

In dieser Aufgabe soll eine Objektklasse zur Repräsentation von und Rechnung mit Brüchen erzeugt werden.

Die Köpfe der geforderten Methoden sind bereits vorgegeben und dürfen nicht verändert werden. Die Methoden sollen entsprechend der Kommentare vervollständigt werden.

Achten sie darauf diese Methoden, wann immer möglich, zu verwenden und so Duplikationen zu vermeiden.

Alle Methoden deren Rückgabetyp Fraction ist, sollen ein neues Objekt erzeugen und zurückgeben und die zur Berechnung verwendeten Objekte unverändert lassen!

Die Java-Standardbibliotheken Math und Integer dürfen (müssen aber nicht) verwendet werden. Um eine Gleitkommazahl bei der Rechnung mit Ganzzahlen zu erhalten muss ggf. Typecasting verwendet werden!

Es stehen außerdem die folgenden zwei Methoden schon zur Verfügung:

public static int GCD(int x, int y): Gibt den größten gemeinsamen Teiler der beiden Argumente (Greatest Common Divider) zurück.

public static int LCM(int x, int y): Gibt das kleinste gemeinsame Vielfache der beiden Argumente (Lowest Common Multiple) zurück.

public class Fraction {

private int numerator, denominator;

/**

* Gibt den größten gemeinsamen Teiler der beiden Argumente (Greatest Common Divider) zurück.

*/

public static int GCD(int x, int y) {

if (y == 0) return x;

return GCD(y, x % y);

}

/**

* Gibt das kleinste gemeinsame Vielfache der beiden Argumente (Lowest Common Multiple) zurück.

*/

public static int LCM(int x, int y) {

return (x * y) / GCD(x, y);

}

//Beginn der Aufgabe

/**

* Vollstaendig parametrisierter Konstruktor der Zaehler und Nenner

* uebergeben bekommt und die entsprechenden Attribute setzt.

* Negative Vorzeichen (Zahlen kleiner als Null) duerfen nur im Zaehler

* auftreten (nicht im "denominator"-Attribut).

* Die Uebergabe eines negativen Nenners ("denominator"-Argument) an den Konstruktor ist jedoch zulaessig.

* Der Konstruktor muss also den uebergebenen Nenner pruefen und sein Vorzeichen so behandeln,

* dass der resultierende Bruch (die Attribute) die genannte Restriktion erfüllt

* und der Wert des Bruchs (die Argumente) unverändert bleibt

* (ein negatives Vorzeichen im Nenner muss also methematisch korrekt beseitigt werden).

* Wird eine Null als Nenner uebergeben, so wird das entsprechende Attribut

* auf Eins gesetzt.

* Jeder erzeugte Bruch wird gekuerzt (dazu soll die entsprechende Mehode s.u. verwendet werden).

*/

public Fraction(int numerator, int denominator) {

if(pDenominator<0){

numerator = -pNumerator;

denominator = -pDenominator;

}

if(pDenominator == 0){

denominator = 1;

}

}

/**

* Gibt den Nenner zurueck.

*/

public int getDenominator() {

return denominator;

}

/**

* Gibt den Zaehler zurueck.

*/

public int getNumerator() {

return numerator;

}

/**

* Gibt den Bruch als Gleitkommazahl zurueck.

*/

public double toDouble() {

double fraction = numerator / denominator;

return fraction;

}

/**

* Gibt einen String im Format

* "Zaehler/Nenner" zurueck.

*/

public String toString() {

double fraction = toDouble();

return numerator + "/" + denominator + " = " + fraction;

}

/**

* Kuerzt (vereinfacht) den Bruch.

*/

public void shorten() {

int factorC = GCD(numerator, denominator);

numerator = numerator/factorC;

denominator = denominator/factorC;

}

/**

* Erweitert (macht gleichnamig), addiert dann den uebergebenen Bruch.

*/

public Fraction add(Fraction f) {

numerator = numerator * f.denominator + f.numerator * denominator;

denominator = denominator * f.denominator;

cancel();

}

/**

* Multipliziert mit dem uebergebenen Bruch.

*/

public Fraction multiply(Fraction f) {

numerator = numerator * f.numerator;

denominator = denominator * f.denominator;

cancel();

}

/**

* Bildet den Kehrwert, wenn der Zaehler ungleich Null ist.

* Sonst wird der Bruch unveraendert zurueckgegeben.

*/

public Fraction reciprocal() {

}

/**

* Dividiert durch den uebergebenen Bruch

* (unter Verwendung von Kehrwert und Multiplikation).

*/

public Fraction divide(Fraction f) {

numerator = numerator * f.denominator;

denominator = denominator * f.numerator;

cancel();

}

}
Java, Bruch, Programmiersprache, kürzen, Gleitkommadarstellung

Warum ist dieser Code so schlecht /funktioniert fast nicht?

Hallo, ich bin an einem Sprachassistenten dran und bin gerade bei der "Speech-to-Text" Funktion. Das ist mein bisheriger Code:

import speech_recognition as sr


def aufnahme():
    r = sr.Recognizer()

    with sr.Microphone() as quelle:
        r.pause_threshold = 0.8
        r.adjust_for_ambient_noise(quelle)
        gesagt = r.listen(quelle)

    try:

        q = r.recognize_google(gesagt, language="de")
        print("Recognized speech (Google):", q)
        return q

    except sr.UnknownValueError:
        print('Leider nicht verstanden (Google)')
        print("Recognized speech (Google):", r.recognize_google(gesagt, show_all=True, language="de"))

    except sr.RequestError as e:
        print(f'Fehler bei Sphinx-Erkennung: {e}')
        return "Ich warte auf Anweisungen"


# Call the function
result = aufnahme()
print(result)

Jedoch funktioniert er richtig schlecht, er versteht höchstens zwei Wörter und in 90% der Fälle kommt dieser Fehlercode:

Leider nicht verstanden (Google)

Traceback (most recent call last):

 File "C:\Users\...\PycharmProjects\voiceAssistant\main.py", line 21, in aufnahme

  q = r.recognize_google(gesagt, language="de")

 File "C:\Users\...\lib\site-packages\speech_recognition\recognizers\google.py", line 251, in recognize_legacy

  return output_parser.parse(response_text)

 File "C:\Users\...\lib\site-packages\speech_recognition\recognizers\google.py", line 124, in parse

  actual_result = self.convert_to_result(response_text)

 File "C:\Users\....\lib\site-packages\speech_recognition\recognizers\google.py", line 173, in convert_to_result

  raise UnknownValueError()

speech_recognition.exceptions.UnknownValueError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

 File "C:\Users\...\PycharmProjects\voiceAssistant\main.py", line 35, in <module>

  result = aufnahme()

 File "C:\Users\...\PycharmProjects\voiceAssistant\main.py", line 27, in aufnahme

  print("Recognized speech (Google):", r.recognize_google(gesagt, show_all=True, language="de"))

 File "C:\Users\...\lib\site-packages\speech_recognition\recognizers\google.py", line 251, in recognize_legacy

  return output_parser.parse(response_text)

 File "C:\Users\...\lib\site-packages\speech_recognition\recognizers\google.py", line 124, in parse

  actual_result = self.convert_to_result(response_text)

 File "C:\Users\...\lib\site-packages\speech_recognition\recognizers\google.py", line 173, in convert_to_result

  raise UnknownValueError()

speech_recognition.exceptions.UnknownValueError

Process finished with exit code 1

Woran liegt das, soll ich eine andere Speech Recognition verwenden und wenn ja welche?

Vielen Dank im Voraus!

Assistent, cmd, Code, Error, Problemlösung, Programmiersprache, Python, Python 3, Sprachassistent, Pycharm

Frage zu Python im Editor Thonny: Optische Illusionen?

Hallo Zusammen,
wir müssen optische Illusionen mithilfe von 3 Befehlen in der Programmiersprache Python angeben. Editor wird Thonny benutzt.

Die Befehle sind:

rectangle(1,2,3,4) line (1,2,3,4) ellypse (1,2,3,4)

Damit müssen wir optische Illusionen darstellen oder zeichnen lassen.

Der Lehrer hat es uns gezeigt, wie es funktioniert am Computer. Ich habe aber keine weiteren Übungen mehr dazu und finde im Internet dazu auch keine Videos/Tutorials oder Beschreibungen.

Kennt jemand hier Unterlagen oder auch Übungen zu dem Thema? Ich besuche das Fach IMP (Informatik/Mathe/Physik) und habe bald eine Arbeit dazu. Leider haben wir schriftlich rein gar nichts. In der Arbeit bekommen wir dann eine Aufgabe zu dem Thema, die wir dann auf Papier nachbauen müssen oder erklären/verbessern müssen. Mir fällt das nicht so leicht und ich hätte gerne noch Übungsmaterial dazu. Leider kann mir der Lehrer auch nicht weiterhelfen, er sagte zu mir, dass ich es im Utnerricht ja verstanden hätte.

Bei der letzten Arbeit dachte ich das auch, jedoch war dann die Arbeit überhaupt nicht gut und ich habe es falsch gelöst. Nun möchte ich mich besser vorbereiten, habe aber kein Material und finde auch hier im Internet zu diesem Thema praktisch nichts. Kennt sich jemand damit aus und weiß, wo ich irgendwelches Material/Informationen zum Lernen/Üben bekommen könnte?

Vielen Dank und viele Grüße

Programmiersprache, Python

Python Chatbot-Fehler: Wo liegt hier das Problem?

Ich programmiere jetzt seit mehreren Stunden diesen Chatbot und finde den Fehler nicht, warum er es nicht schafft, auf die Frage: gut die richtige Antwort zu geben.

Hier ist mein Code und wenn ihr den Fehler findet, wäre ich euch sehr dankbar.

main.py:

class NeuroSama:
    def __init__(self):
        self.known_topics = self.load_topics("knowledge_base.txt")
        self.conversation_history = []
        self.load_conversation_log("conversation_log.txt")

    def respond(self, message):
        response = ""

        # Hier wird die Eingabe in Kleinbuchstaben umgewandelt, bevor sie verarbeitet wird
        message = message.lower()

        if self.is_new_topic(message):
            response = "Nein, was ist " + message + "?"
        else:
            response = self.get_response_from_file(message, "generate_response.py")

        self.conversation_history.append({"input": message, "output": response})
        return response

    def is_new_topic(self, topic):
        return topic.lower() not in self.known_topics

    def get_response_from_file(self, topic, filename):
        try:
            response_module = __import__(filename.split('.')[0])
            return response_module.generate_response(topic, self.conversation_history)
        except FileNotFoundError:
            return "Die Datei wurde nicht gefunden."
        except AttributeError:
            return "Die Funktion wurde nicht gefunden."

    def save_conversation(self, filename):
        with open(filename, 'w') as file:
            for convo in self.conversation_history:
                file.write(f"Eingabe: {convo['input']}\n")
                file.write(f"Antwort: {convo['output']}\n")
                file.write("\n")

    def load_topics(self, filename):
        known_topics = set()
        try:
            with open(filename, 'r') as file:
                for line in file:
                    known_topics.add(line.strip().lower())
        except FileNotFoundError:
            print("Datei nicht gefunden. Neue Datei wird erstellt.")
            open(filename, 'w').close()
        return known_topics

    def load_conversation_log(self, filename):
        try:
            with open(filename, 'r') as file:
                for line in file:
                    if line.startswith("Eingabe:"):
                        input_text = line[len("Eingabe:"):].strip()
                        output_text = file.readline()[len("Antwort:"):].strip()
                        self.conversation_history.append({"input": input_text, "output": output_text})
        except FileNotFoundError:
            print("Konversationsprotokoll nicht gefunden.")

# Beispielnutzung
neuro_sama = NeuroSama()

while True:
    user_input = input("Du: ")

    if user_input.lower() == 'exit':
        neuro_sama.save_conversation("conversation_log.txt")
        break

    response = neuro_sama.respond(user_input)
    print("Neuro-Sama:", response)

generate_response.py:

def generate_response(topic, conversation_history):
    if len(conversation_history) > 0:
        last_input = conversation_history[-1]['input'].lower()
        if 'hallo' in last_input:
            return "Hallo zurück!"
        elif any(variant in last_input for variant in ['gut', 'gutes', 'gutem', 'guter']):
            return "Es ist großartig zu hören, dass es dir gut geht!"
        else:
            return "Das ist interessant!"
    else:
        return "Ich bin mir nicht sicher, wie ich darauf reagieren soll."

Hier sind die Antworten, die ich derzeit bekommen habe:

= RESTART: C:\Users\####\Desktop\####\main.py
Du: hallo
Neuro-Sama: Hallo zurück!
Du: Hallo
Neuro-Sama: Hallo zurück!
Du: gut
Neuro-Sama: Nein, was ist gut?
Du: 
= RESTART: C:\Users\####\Desktop\####\main.py
Du: gut
Neuro-Sama: Nein, was ist gut?
Du: Gut
Neuro-Sama: Nein, was ist gut?
Du: 
Bot, Programmiersprache, ChatGPT

Als Anfänger mit Chat GPT eine App mit folgenden Kriterien programmieren, machbar oder unrealistisch?

Guten Tag,

ich bin am überlegen zu versuchen alleine mit Chat GPT eine App zu programmieren,. Die App soll praktisch eine soziale App sein und etwas im Real-Life organisieren/verwalten, sagen wir mal ähnlich wie Picolo (Trinkspiel-App)

Ich möchte nicht viel darüber verraten, aber sie soll folgende Kriterien beeinhalten:

  • Plattformübergreifend
  • Benutzerkonten verwalten, Daten speichern und Interaktionen zwischen Benutzern ermöglichen
  • Gutes Design haben (minimalistisch, aber ansprechlich)
  • Benutzerkonten sollen in Echtzeit in einem Raum, welchen man eröffnen kann "spielen"
  • Ein Zahlungssystem haben und allem was an Sicherheit dazugehört
  • Und recht viele Extrafunktionen haben, mit denen man sein "Spiel" benutzerdefiniert erstellen kann

Ich bin jedoch ein absoluter Anfänger, jedoch mit der Hoffnung, dass man sich alles nötige mit Chat GPT aneignen könnte. Das Problem ist ich studieren noch nebenbei, hätte also nur 2 bis 5 Stunden jeden Tag dafür zur Verfügung. Und kenne leider absolut niemanden der mir dabei helfen könnte, plus ich hab kein Geld jemanden "anzustellen" oder sowas. Würde ja auch keinen Sinn machen wenn ich gar nicht weiß ob so eine App am Ende was abwerfen würde.

Generell bin ich aber sehr lernfähig und hätte da eigentlich ziemlich Lust zu (auch einfach so für mich, nicht wegen Geld oder sonst was)

Jetzt zu meiner Frage, was glaubt ihr ist sowas absolut unrealistisch oder ist das machbar? Also klar könnte man sowas theoretisch schaffen aber bin jetzt kein Wunderkind oder Erfahrender im Programmieren und hab keine 16 Stunden Zeit am Tag. Würde echt gerne Meinungen dazu hören wie ihr sowas einschätzt.

Dankeschön und liebe Grüße

App, programmieren, Programmiersprache, app entwicklung, ChatGPT

Wie kann ich mit C++ Textdateien in einem Container speichern?

Ich habe ein Problem mit meinem Programm. Ich möchte eine Textdatei in meinem selbst definierten Container speichern, doch Ich weiß nicht, wo das Problem ist.

#include <iostream>
#include <filesystem>
#include <vector>
#include <string>
#include <fstream>
#include <algorithm>

using namespace std;

template <typename Template>
class Container {
  private:
    Template* Eigenschaft1;
    size_t Größe;
    size_t Speichergröße;
  public:
    Container(size_t ContainerGröße = 10000) : Größe(0), Speichergröße(ContainerGröße) {
      Eigenschaft1 = new Template[Speichergröße];
    }

    void Speichern(const Template& Wert) {
      for (int i = 0; i < Größe; i++) {
        Eigenschaft1[Größe++] = Wert;
      }
    }
};

class Personal {
  private:
    string Name;
    string Position;
    int Alter;
    double Gehalt;
  public:
    Personal();

    void Speicherung(string Name, string Position, int Alter, double Gehalt, Container<ofstream>& Container);

    void Ausgabe();

    void Hinzufügen(Container<ofstream>& Container);
};

Personal::Personal() {
  Name = Name;
  Position = Position;
  Alter = Alter;
  Gehalt = Gehalt;
}

void Personal::Speicherung(string Name, string Position, int Alter, double Gehalt, Container<ofstream>& Container) {
  string Entscheidung;
  ofstream Datei1("Datei.csv");
  Datei1 << "Name: " << Name << endl;
  Datei1 << "Position" << Position << endl;
  Datei1 << "Alter: " << Alter << endl;
  Datei1 << "Gehalt: " << Gehalt << endl;

  cout << "M\u00F6chten sie die Person speichern: ";

  if (Entscheidung == "Ja") {
    Container.Speichern(Datei1);
  }
  else if (Entscheidung == "Nein") {
  }
}

void Personal::Ausgabe() {
  ifstream Datei1("Datei.csv");
  getline(Datei1, Name);
  Datei1 >> Position;
  Datei1 >> Alter;
  Datei1 >> Gehalt;
  cout << "Name: " << Name << endl;
  cout << "Alter: " << Alter << endl;
  cout << "Beruf: " << Position << endl;
  cout << "Gehalt: " << Gehalt << endl;
}

void Personal::Hinzufügen(Container<ofstream>& Container) {
  Personal P;
  cout << "Bitte geben side den Namen ein: ";
  cin >> P.Name;
  cout << "Bitte geben sie den Beruf an: ";
  cin >> P.Position;
  cout << "Bitte geben sie das Alter der Person an: ";
  cin >> P.Alter;
  cout << "Bitte geben sie das Gehalt der Person an: ";
  cin >> P.Gehalt;
  Speicherung(P.Name, P.Position, P.Alter, P.Gehalt, Container);
}

template <typename T>
int main() {
  string Passwort1 { "Erfolg1234" };
  string Passwort2;
  Container<ofstream> Container;
  Personal P;
  int Entscheidung;
  cout << "Geben sie das Passwort ein: ";
  cin >> Passwort2;

  if (Passwort2 == Passwort1) {
    cout << "Wollen sie eine neue Position hinzufügen (1)" << endl;
    cout << "Wollen sie auf eine Position zugreifen (2)" << endl;
    cin >> Entscheidung;

    if (Entscheidung == 1) {
      P.Hinzufügen(Container);
    }
    else if (Entscheidung == 2) {
      P.Ausgabe();
    }
  }
  else {
    cout << "Falsches Passwort" << endl;
  }
}
Cplusplus, Code, CPP, Programmiersprache, Visual Studio

Wo ist der Fehler in meinem Python-Skript für Blender?

import bpy

# Funktion zum Erstellen eines Materials
def create_material(name, base_color):
  material = bpy.data.materials.new(name=name)
  material.use_nodes = True
  material.node_tree.nodes["Principled BSDF"].inputs["Base Color"].default_value = base_color
  return material

# Funktion zum Erstellen eines Rechtecks
def create_rectangle(name, location, scale, material):
  bpy.ops.mesh.primitive_cube_add(size=1, location=location)
  rectangle = bpy.context.active_object
  rectangle.name = name
  rectangle.scale = scale
  rectangle.data.materials.append(material)
  return rectangle

# Szene zurücksetzen
bpy.ops.wm.read_factory_settings(use_empty=True)

# Farben für die verschiedenen Seiten der Handyhülle
case_colors = [
  (1.0, 0.8, 0.6, 1.0), # Vorderseite (Beispiel: hellbraun)
  (0.8, 0.8, 0.8, 1.0), # Rückseite (Beispiel: hellgrau)
  (0.0, 0.0, 0.0, 1.0), # Seiten (Beispiel: schwarz)
]

# Farben für Graphen und PCM
graphene_color = (0.0, 1.0, 0.0, 1.0) # Grün
pcm_color = (0.0, 0.0, 1.0, 1.0) # Blau
epoxy_color = (1.0, 1.0, 1.0, 1.0) # Weiß für Epoxidharz

# Länge, Breite und Dicke der Handyhülle
length = 0.15
width = 0.07
thickness = 0.02

# Ursprungskoordinaten
origin = (0, 0, 0)

# Material für Graphen erstellen
graphene_material = create_material("Graphene_Material", graphene_color)

# Material für PCM erstellen
pcm_material = create_material("PCM_Material", pcm_color)

# Material für Epoxidharz erstellen
epoxy_material = create_material("Epoxy_Material", epoxy_color)

# Schleife zum Erstellen der Seiten der Handyhülle mit verschiedenen Farben
for i, color in enumerate(case_colors):
  # Material für die Handyhülle erstellen und zuweisen
  case_material = create_material(f"Case_Material_{i}", color)
  # Handyhüllen-Rechteck erstellen
  create_rectangle(f"HandyHuelle_{i}", origin, (length if i == 0 else width, width if i == 0 else thickness, thickness if i == 0 else width), case_material)

# Graphen in der Mitte platzieren
create_rectangle("Graphene", (origin[0] + length / 2, origin[1] + width / 2, origin[2] + thickness / 2), (width,), graphene_material)

# PCM auf der Innenseite platzieren mit Epoxidharz-Beschichtung
pcm_rectangle = create_rectangle("PCM", (origin[0] + length / 2, origin[1] + width / 2, origin[2] + thickness / 2), (width,), pcm_material)

# Material der Epoxidharz-Beschichtung zuweisen
epoxy_material_node = pcm_material.node_tree.nodes.new(type='ShaderNodeBsdfPrincipled')
epoxy_material_node.location = (-300, 0) # Position des Materialknotens für Epoxidharz
epoxy_material_node.material = bpy.data.materials.get("Epoxy_Material")

# Material der Epoxidharz-Beschichtung verbinden
pcm_material.node_tree.links.new(pcm_material.node_tree.nodes["Material Output"].inputs['Surface'], epoxy_material_node.outputs['BSDF'])

Mir fällt da an sich kein Fehler auf, aber Blender meint:

Python: Traceback (most recent call last):
  File "\Text", line 57, in <module>
  File "\Text", line 13, in create_rectangle
  AttributeError: 'Context' object has no attribute 'active_object'

Hilfe. :D

MfG aus der Nachbarschaft.

Blender 3D, Code, Programmiersprache, Python

Was ist bei meinem C# Code falsch?

using System;
namespace NeuArray
{
  class Programm
  {
    static void Main()
    {
      string[,] products = new string[2, 5];
      products[0, 0] = "Senf";
      products[1, 0] = "1.99 Euro";
      products[0, 1] = "Smartphone";
      products[1, 1] = "Preis: 1299 Euro";
      products[0, 2] = "Schokolade";
      products[1, 2] = "2.99 Euro";
      products[0, 3] = "Obst";
      products[1, 3] = "1.49 Euro";
      products[0, 4] = "Couch";
      products[1, 4] = "499 Euro";
    Start:
      Console.Write("Gib die Spalte ein von dem Produkt das du suchst: ");
      int Spalte = Convert.ToInt32(Console.ReadLine());
      if (Spalte < 0 || Spalte > 5)
      {
        Console.WriteLine("Diese Spalte existiert nicht. ");
        goto Start;
      }
      Console.WriteLine("Das gesuchte Produkt lautet: " + products[0, Spalte]);
      Console.WriteLine("Möchtest du den Preis dieses Produktes sehen? Geben Sie 1 ein für Ja und 2 für Nein ");
      int Abfrage = Convert.ToInt32(Console.ReadLine());
      switch (Abfrage)
      {
        case 1:
          Console.WriteLine(products[1, Spalte]);
          break;
        case 2:
           
          Abfrage2:
            Console.WriteLine("Möchten Sie nach einem neuen Produkt suchen? Geben Sie 1 ein für Ja und 2 für Nein");
            int AbfrageProduktNeu = Convert.ToInt32(Console.ReadLine());
            if ((AbfrageProduktNeu == 1))
            {
              goto Start;
            }
            else if (AbfrageProduktNeu == 2)
            {
              Console.WriteLine("Programm beendet.");
            }
            else
            {
              Console.WriteLine("Ungültige Eingabe.");
              goto Abfrage2;
            }
            break;    
      }
    }
  }
}

Es steht zwar nicht, dass irgendwo ein Fehler ist aber immer wenn ich das Programm in der Konsole ausgeben will steht da "Hot Reload".

Könnt ihr mir helfen bitte?

Software, App, programmieren, C Sharp, Code, Programmiersprache, Visual Studio

Raspberry PI Flask-404 Not Found?

Hallo!

Ich habe das programmiert. Es wird jede Sekunde die Temperatur von der CPU ausgelesen. Jetzt möchte ich Flask einbauen, damit ich mit mehreren PC's darauf zugreifen kann. Aber es funktioniert nicht. Warum?

from flask import Flask, jsonify
import subprocess
import time
import os
from colorama import Fore, Style

app = Flask(__name__)

@app.route("/temp")
def get_cpu_temperature():
  try:
    result = subprocess.run(['vcgencmd', 'measure_temp'], capture_output=True, text=True, check=True)
    temperature_str = result.stdout.strip()
    temperature = float(temperature_str[5:-2]) # Extrahiere die Temperatur aus dem String
    return temperature
  except subprocess.CalledProcessError as e:
    print(f"Fehler beim Ausführen des Befehls: {e}")
    return None

def print_colored_temperature(temperature):
  if temperature is not None:
    if temperature > 49.9:
      print(f"{Fore.RED}Temperatur: {temperature}°C{Style.RESET_ALL}")
    else:
      print(f"Temperatur: {temperature}°C")
  else:
    print("Fehler beim Lesen der CPU-Temperatur.")

def main():
  try:
    while True:
      temperature = get_cpu_temperature()
      print_colored_temperature(temperature)
      time.sleep(1)
      os.system('clear')
  except KeyboardInterrupt:
    print("Programm wurde durch den Benutzer unterbrochen.")
  except Exception as e:
    print(f"Ein Fehler ist aufgetreten: {e}")
     
     


if __name__ == '__main__':
  app.run(host="0.0.0.0")

if __name__ == '__main__':
  main()
  import sys
  sys.exit(main(sys.argv))  
HTML, Code, Programmiersprache, Python, Python 3, Pycharm, Discord, Flask, Discord Bot, ChatGPT

Warum gibt es nichts anderes als JavaScript im Browser Frontend?

Es gibt Dart-Flutter, C#-Blazor soweit ich weiß, aber ich nehme an, es ist nur JavaScript unter der Haube.

Ähnlich wie, wenn man React Native Code schreibt, wird es in die native mobile Sprache umgewandelt => Kotlin, Swift etc..

Weil soweit ich weiß, versteht der Browser nichts anderes als HTML, CSS und JavaScript.

Es gibt da nur die V8-Engine / andere JavaScript-Engines.

Aber warum?

Wieso ist es nicht theoretisch möglich, einfach mit einer neuen Sprache die für cross platform entwickelt wurde, einen onclick-Event Listener zu nutzen?

In einer ganz eigenen Engine.

Heißt nicht, das sie JavaScript irgendetwas die nächsten 5 Jahre streitig machen könnte, aber wenn diese Sprache direkt Typisierung unterstützen würde, ohne TypeScript und auch noch für andere Dinge besser geeignet wäre als JavaScript (wurde halt nicht dafür designed, ganz egal ob Electron, Native existiert) wie Desktopanwendungen, Mobil, etc..

PHP nehme ich erst garnicht auf, das macht alleine gar nichts im Frontend, ist eine Backendsprache und alleine sinnlos auf Websites, bis auf bisschen HTML generieren, das auch nur vom Server kommt.

Klar, wenn du ewig lange Weiterleitungen willst, die furchtbar sind und überhaupt nicht interaktive Websites, dich auf Formulare beschränkst, dann kriegst du das auch ohne JavaScript hin, etwas Schreckliches zu programmieren.

Mit WebAssembly kenne ich mich gar nicht aus. Ob da Event Listener, usw. möglich sind. Aber alleine von der Einstiegshürde und Komplexität die ich höre, ist das keine Alternative.

Assembly ist auch keine Alternative zu C++. Dafür gibt es Rust.

Browser, App, HTML, Webseite, JavaScript, HTML5, Assembler, Informatik, Programmiersprache, Softwareentwicklung, Webentwickler, Webentwicklung, Anwendungsentwickler, React Native

Meistgelesene Beiträge zum Thema Programmiersprache