Ich kenne diese Bücher nicht, würde aber sagen, dass es generell sinnvoll und spannend ist, sich mit gängigen Algorithmen z. B. zum Sortieren oder Suchen zu beschäftigen. Aus dem Grund heraus, sein Denken in Algorithmen zu schulen und neue Techniken kennenzulernen.

Gerade am Anfang sind viele dieser Algorithmen sicher spannend. Es ist auch sehr gut ein Verständnis davon zu haben, was man alltäglich verwendet.

...zur Antwort

Ich kann nur für Sachsen sprechen, aber wenn dir Mathe liegt, dann wähle den Mathe LK. Der LK ist nicht viel anspruchsvoller als der Grundkurs. Für mich war es eines der Fächer, für die ich so gut wie nichts machen musste und trotzdem auf meine 12–14 Punkte pro Kurshalbjahr kam.

...zur Antwort
Ich gehöre leider zu den Menschen die mit viel lesen besser lernen können als mit Youtube videos.

Warum „leider“? Ich denke, das ist ein Vorteil. Es gibt meiner Erfahrung nach wesentlich mehr qualitative Bücher als YouTube Videos zu dem Thema.

Zur Sprache Java kann ich leider nicht viel sagen, zu dem Buch auch nicht. Persönlich würde ich aber zu englischsprachiger Literatur raten, so lernt man viele Begriffe gleich auf Englisch und übt auch seine Englischfähigkeiten. Denn spätestens bei Dokumentationen von Bibliotheken usw. wird wohl fast alles auf Englisch sein.

...zur Antwort

Mit:

if __name__ == '__main__':
    ...

Kannst du prüfen, ob du in deinem „Hauptprozess bist“. Alles, was nur dort aufgerufen werden soll, muss in das if.

Siehe: https://docs.python.org/3/library/multiprocessing.html

...zur Antwort

Versuch mal `-c` bei `sh.exe`. Du musst `python3` und `Test.py` dann aber zu einem Argument hinter `"-c"` machen: `"python3 Test.py"`

Aber:

Wozu der Aufruf von sh.exe? Du kannst ja auch direkt python3 starten.

...zur Antwort

Zeig mal den ganzen Code. Anders wird man sonst wohl kaum helfen können.

...zur Antwort

Versuche doch, das `getch()` in einer Schleife zu verwenden:

auto askYN = [](const std::string& question) {
    for (;;) {
        std::cout << question << std::flush;
        auto c = getch();
        if (c == 'y')
            return true;
        else if (c == 'n')
            return false;
        std::cout << "Ungültige Antwort!\n";
    }
    return false;
}

auto input = askYN("Sicher (y/n)?");
...zur Antwort

Er soll die Quelle des Abschaltens also nicht eindeutig bemerken, habe ich das richtig verstanden?

...zur Antwort

Da fehlt wohl eine schließende geschweifte Klammer (vor dem exit).

...zur Antwort

Also...

Das `field(190)` kannst du so filtern:

sudo hddtemp --debug /dev/sda | awk '/field\(190\)/ {print $3}' | tail -1

Das skript könnte ungefähr so aussehen (muss natürlich noch angepasst/erweitert werden):

#!/bin/bash
DEVICES=(
    /dev/sda
    /dev/sdb
)

HEADER="day"
for D in "${DEVICES[@]}";
do    
    HEADER="$HEADER $(printf '%08s' $D)"
done

TEMPS="1  "
for D in "${DEVICES[@]}";
do
    TEMP=$(sudo hddtemp --debug $D | awk '/field\(190\)/ {print $3}' | tail -1);
    TEMPS="$TEMPS $(printf '%08s' $TEMP)";
done

echo "$HEADER"
echo "$TEMPS"
...zur Antwort