Du brauchst die extra Variable nicht.
int number = Convert.ToInt32(Console.ReadLine());
while (number > 0)
{
Console.WriteLine(--number);
}
Du brauchst die extra Variable nicht.
int number = Convert.ToInt32(Console.ReadLine());
while (number > 0)
{
Console.WriteLine(--number);
}
Du setzt j nicht zurück, nachdem die innere Schleife einmal durchlaufen wurde. Daher trifft für die Folgeiterationschritte der äußeren Schleife die Bedingung
j < len(L)
nicht mehr zu.
(...) und bräuchte dazu ein leichtes Programm
Du kannst IntelliJ IDEA als Entwicklungsumgebung nutzen. Alternativen dazu sind noch Eclipse oder NetBeans IDE. Diese drei Programme sind soweit auch für die professionelle Entwicklung geeignet.
Solltest du nach noch einfacher aufgebauten Anwendungen für einen spielerischeren Einstieg suchen, schau dir Greenfoot an. Greenfoot wird insbesondere in schulischen Einrichtungen genutzt.
Andernfalls würde ich dir für den Anfang speziell Processing empfehlen. Hierbei handelt es sich um eine Programmiersprache mit eigener (gleichnamiger) IDE, die auf Java aufbaut und deren Syntax weitestgehend übernimmt. Allerdings nimmt sie auch an vielen Stellen Komplexität heraus: Codestrukturen, die für einen Anfänger eh noch nicht relevant sind (aber in Java dennoch geschrieben werden müssen, um ein funktionales Programm zu erhalten) und erst bei einem späteren Lernstand tatsächlich gut erklärt werden könnten. Mit Processing kannst du dich also gut auf das Erlernen der ersten Grundlagen fokussieren. Anschließend kannst du mit Java einfach weitermachen.
(...) ich würde mir gerne Java beibringen (...) Hat jemand Empfehlungen (...)
Bezüglich Lernmaterial würde ich auf solche verweisen:
Abraten würde ich von jeglichen Crashkursen, da diese meist sehr oberflächlich versuchen, Informationen in kurzer Zeit zu vermitteln. Nimm dir stattdessen bewusst die Zeit zum Lernen, die du brauchst. Des Weiteren wäre es gut, mit Material zu starten, welches mindestens Java 9 inkludiert, da ab dieser Version erste größere Umbrüche stattfanden (z.B. die Einführung des Modulsystems). Bei dem hier von anderen Antwortgebern angepriesene W3Schools ist das beispielsweise nicht der Fall.
Wenn du lernst, dann versuche dich auch praktisch an dem Angelesenen. Ganz am Anfang reicht das natürlich noch nicht für richtig sinnvolle Anwendungen, doch nach und nach kannst du deine Kenntnisse kombinieren. Ein paar Seiten, auf denen du Übungsaufgaben finden kannst, wären CodingBat, Edabit, Exercism oder w3resource.
Kann man alles über eine Datenbank laufen lassen?
Können - ja. Es ist aus Sicht der Datentrennung und Wiederverwendbarkeit allerdings nicht so sinnvoll, Daten und Quelltext zusammenzuspeichern.
Nimm als Beispiel den Titel einer Seite, der womöglich als Titel des HTML-Dokuments, als auch für die erste Überschrift im Inhaltsbereich benutzt werden soll. Wenn nur der Titeltext in einer Datenbankzelle abgelegt wird, kann er für beide Fälle abgerufen und eingesetzt werden.
Mittels einer Trennung von reinen Daten und Struktur (HTML), bleibst du flexibler. Sollte sich die Struktur einmal ändern, brauchst du nicht an die Datenbank. Sollten sich einmal die Daten ändern, brauchst du nicht im Quelltext suchen.
Ist es schwer (...)
Grundsätzlich würde ich es nicht als schwer bezeichnen.
Was du brauchst:
Ich würde an der Stelle empfehlen, direkt nach Frameworks oder Sets zu schauen, die dir die erwähnten Funktionen bieten, und dich in diese einzuarbeiten.
Zum Beispiel:
Alternativ könntest du auch direkt ein CMS nutzen. Die übernehmen für dich die Datenverwaltung. Du gibst die Struktur deiner Inhalte vor (Seiten, evt. auch Seitentemplates) und kannst zudem für die Präsentation (Weboberfläche) ein eigenes Theme anlegen. Der Vorteil gegenüber den obigen Lösungen ist, dass du als Nutzer deine Daten einfacher verwalten kannst, da das CMS dir dafür eine grafische Oberfläche aufbereitet.
Du kannst einen Typ erstellen:
type TMatrix = array[1..8, 1..8] of Integer;
und diesen als Rückgabewert verwenden:
function GetZuege() : TMatrix;
Oder aber du verwendest ein generisches, dynamisches Array:
function GetZuege() : TArray<TArray<Integer>>;
Zumindest auf Spyder hab ich probleme Pytorch zu installieren.
Schau, ob du die neueste Version von Spyder nutzt. Des Weiteren wäre an der Stelle die Frage, ob das Problem nicht eher woanders liegt. Die Installation läuft ja üblicherweise über conda ab.
Hat jemand eine gute Umgebung, wo ich einfach sachen wie libary Pytorch installieren kann?
PyCharm bietet sich an. Wenn das Installationsproblem jedoch, wie schon erwähnt, beim Package Manager liegt, wirst du mit PyCharm ebenso Probleme haben.
Inwiefern du nun genau Wissen mit Python aufgebaut hast, beschreibst du leider nicht konkret. Daher wäre meine erste Empfehlung, dass du dich erst einmal weiter praktisch mit Python beschäftigst und dir anschaust, was du in deinen jeweiligen Interessensgebieten damit bereits erreichen kannst.
Bezogen auf Themen wie AI/ML oder Cybersecurity (in Kombination mit Python) gibt es zudem zahlreiche Literatur und je Bereich auch verschiedene Tools (z.B. Bibliotheken/Frameworks wie Keras, PyTorch, Scapy, Tensorflow, YARA), mit denen du dich einmal näher beschäftigen könntest.
Eine sinnvolle Ergänzung für Python wären C oder C++. Beide Programmiersprachen erlauben einen direkteren Systemzugriff, was gerade im Bereich Cybersecurity nicht uninteressant ist. Generell finden sie in den von dir genannten Themen Anwendung.
Außerdem kannst du mit ihnen bei Bedarf Erweiterungen (extension modules) für Python entwickeln, die dann beispielsweise spezifische System- oder rechenlastige Operationen übernehmen.
Bezüglich der Entwicklung einer Sicherheits-/Antivirensoftware wäre es ratsam, nach dem üblichen Verfahren der Softwareentwicklung vorzugehen (erst analysieren/planen, dann implementieren). Je nach den gestellten Anforderungen wirst du dich nochmal tiefer in bestimmte Punkte einarbeiten bzw. recherchieren müssen (z.B. Welche Arten an Malware gibt es? Wie funktionieren sie? Wie kann man sie erkennen und blockieren? Inwiefern lässt sich AI einweben? Welche Hilfstools gibt es bereits?).
Die Seite der Rheinland GmbH hat zwar auch Schwächen (z.B. Rechtschreibfehler, die hässlichen weißen Boxen auf der Startseite, leere Überschriften und falsche Texthierarchien auf der Datenschutzseite, doppelte Galeriebilder oder ein paar überdimensionale Überschriften), erscheint meines Erachtens aber überlegter aufgebaut, als Handwerk14. Die Platzaufteilung ist besser und die Inhalte vermitteln ein deutlicheres Bild von dem Unternehmen (z.B. Leistungen, Einsatzgebiet, Referenzen).
Bei Handwerk14 hat man den Eindruck, dass mehrere falsche Designentscheidungen getroffen und die Inhalte lieblos hineingeklatscht wurden.
Beispiele:
Die technische Umsetzung habe ich mir in beiden Fällen nicht näher angeschaut.
Zu diesem Widget gibt es diesen Konfigurator.
https://www.meteoblue.com/en/weather/widget/setupday/san-francisco_united-states_5391959
In dem kannst du ein Theme (Coloured/Monochrome) und sowie gepaart die Hinter- sowie Vordergrundfabe festlegen.
Wenn dir diese Optionen nicht genügen, musst du dir den HTML-Response des Widgets über einen Request innerhalb einer serverseitigen Webanwendung holen, den entsprechenden Container (.picto) extrahieren und in einen eigenen Container auf deiner Seite herausrendern. Dann kannst du auch eigenes CSS hinzufügen (z.B. eine CSS-Regel mit dem Klassenselektor picto, welche eine Hintergrundfarbe setzt).
Voraussetzungen dafür sind: Zugriff auf den Webserver der eigenen Webseite sowie Programmierkenntnisse in der Technologie, die bei dir serverseitig genutzt werden kann (sei es nun PHP, o.ä.).
Stecke deine Eingabefelder in ein QGridLayout oder eine Schachtelung aus QHBoxLayout und QVBoxLayout.
Wenn das HTML-Dokument nicht über einen Webserver ausgespielt, sondern einfach so im Browser geöffnet wird, ist das Verhalten normal. Cookies werden an eine Domain gebunden, die in diesem Fall einfach nicht existiert.
Lade das Dokument also entweder auf einen Webspace und steuere es über dessen URL im Browser an oder richte dir lokal einen Webserver ein, über den du das Dokument aufrufen kannst.
Für die Einrichtung eines lokalen Webservers gibt es mehrere relativ einfache Lösungen: Zum Beispiel das Softwarepaket XAMPP, EasyPHP oder Laragon. Zum Gebrauch von XAMPP habe ich in diesem Beitrag (zweiter Absatz) schon einmal eine Kurzanleitung gegeben.
Dein obiger Code ist jedenfalls funktional, sofern du allowCookie vor Funktionsaufruf immer auf true setzt und der Cookiewert nicht invalid ist. Wende bestenfalls ein Encoding-Verfahren auf deinen Wert an (Base64 oder URL-Encoding via encodeURIComponent) und berücksichtige (obwohl ich weniger davon ausgehe, dass das ein Problem darstellen sollte), dass ein Cookie maximal 4096 Bytes an Daten aufnehmen kann.
Greenfoot ist eine Entwicklungsumgebung für Java-Anfänger, in der einfache 2D-Spiele, o.ä. erstellt werden können.
Mehr kannst du auf der offiziellen Webseite nachlesen.
Angenommen, bei Programmstart soll ein Actor an Koordinate (1/2) in der Welt platziert werden. Dann musst du das so auch in der Startmethode (oder einer separaten setup-Methode, die in der Startmethode aufgerufen wird) deines Programms vorgeben.
Praktischerweise gibt es dazu auch schon eine Funktion in Greenfoot, mit der du eine aufgebaute Welt speichern kannst. Sie generiert dir darauffolgend den notwendigen Programmcode (lies hier).
a) Statt dem echo-Befehl, kannst du auch noch einmal auf die index.html zurückleiten:
header("Location: URL-to-index.html");
b) Ändere die Endung deiner index.html zu .php und kopiere den PHP-Block aus deinem Skript hinein. Im einfachsten Fall genau dort im body, wo später die Erfolgsmeldung stehen soll. Das action-Attribut des Formulars entfernst du.
Angedeutetes Beispiel:
<!doctype html>
<!-- head ... -->
<body>
<form method="post">
<!-- form fields ... -->
<p class="result">
<!-- your php block ... -->
</p>
</form>
</body>
Den else-Block kannst du entfernen, da du ihn nicht mehr brauchst.
Die Seite wird folgend bei Formularversand neu geladen. Die Daten werden an die selbe Seite geschickt und dann vom PHP-Skript ausgewertet.
Kann man Pygame auf dem iPhone installieren?
Man kann PyGame-Spiele auf iOS portieren. Deinem weiteren Text zufolge suchst du aber eigentlich nach einer Python-Entwicklungsumgebung für dein Gerät.
Zwei Optionen wären da replit (in der du auch PyGame installieren kannst) oder Pythonista. Mit letztgenannter App kannst du zwar auch kleine Spiele oder Animationen entwickeln, jedoch nicht mit PyGame.
(...) aber er ist so alt und langsam, das man fast nichts mit ihm anfangen kann (...)
Python/PyGame hat keine hohen Systemanforderungen. Daher wird es da wohl kaum Probleme geben.
Für die Speicherung von Nutzereinstellungen (wie Lautstärke, Bildschirmhelligkeit, u.ä.) kannst du PlayerPrefs verwenden.
Du kannst einen Texteditor wie Notepad++ oder Sublime Text nutzen, der beim Suchen und Ersetzen reguläre Ausdrücke erlaubt.
Die Semikolons am Zeilenanfang könntest du folgendermaßen mit
^;
aufspüren und die Semikolons am Zeilenende mit
;$
Weiß jemand wie man das beheben (...)
Mit FreeConsole löst du dich (bzw. den Prozess deines Programms) von der Konsole. Das heißt, du hast auf sie auch keinen Zugriff mehr. Du müsstest dich erst mit AttachConsole oder AllocConsole an eine Konsole binden, um wieder schreiben zu können.
(...) und vlt. auch welche Bedeutung die Rückgabewerte beider Imports haben?
Der Rückgabewert gibt bei beiden Funktionen jeweils an, ob die Aktion erfolgreich war. In dem Fall muss er ungleich 0 sein.
Ja, du darfst Visual Studio hierfür benutzen.
Wenn wir einmal davon ausgehen, dass du die Community Version verwendest, hast du folgende Rechte:
Lies dazu konkret die Lizenzbedingungen. Dort wird unter 1b vii auch der Begriff Unternehmen genauer erklärt.
Des Weiteren solltest du davon absehen, Versprechungen zum Kurs abzugeben, die nicht mit Microsoft abgeklärt sind (bspw.: Werde Microsoft-Entwickler mit diesem Kurs, o.ä.).
Für so ein Projekt würde sich C++ in Kombination mit dem JUCE-Framework sehr gut eignen.
C++ selbst erlaubt dir direkten Systemzugriff, über den du Daten schnell (und konsistent) in Echtzeit verarbeiten kannst (Bsp.: SIMD für DSP-Algorithmen). Es gibt Schnittstellen/Wrapper für low-level APIs mit Audiofunktionalitäten wie CoreAudio, DirectX und OpenAL oder etliche Bibliotheken, die dir beispielsweise bei dem Einlesen oder Schreiben von Audiodaten helfen (z.B. Aquila, Essentia, PortAudio, RtAudio, usw.).
Ein weiterer Vorteil ist, dass du mit C++ objektorientiert arbeiten kannst. So kannst du dein Projekt besser strukturieren.
Das JUCE-Framework wiederum hat bereits verschiedene Funktionalitäten zur Audiohandhabung (siehe hier oder hier) vorimplementiert und zusätzlich gibt es mehrere Bibliotheken aus der Community (schau z.B. hier). Des Weiteren ermöglicht es dir die Entwicklung von (meiner Meinung nach schönen) grafischen Oberflächen (direkt zugeschnitten auf Audiosoftware), die auf verschiedenen Plattformen (Android, iOS, macOS, Windows) portierbar sind.
Alternativ würde sich auch Qt zur Entwicklung der grafischen Oberfläche eignen.
Hinsichtlich einer Vorbereitung für dein Projekt wäre es gut, zunächst mit den C++-Grundlagen (sowie klassenbasierter OOP) vertraut zu werden. Andernfalls macht ein Projektstart noch keinen Sinn.
Richte dir zuerst eine passende Entwicklungsumgebung ein, damit du möglichst früh mit dem, was du lernst üben/experimentieren kannst. Ein paar gute Optionen wären CLion, der QtCreator oder (nur für Windows) Visual Studio.
Bezüglich Lernquellen solltest du solche verwenden, die mindestens C++ 17 behandeln. Online kann ich hierbei auf LearnCpp verweisen. Empfehlenswerte Autoren für feste Literatur sind m.E. Nicolai M. Josuttis, Torsten T. Will, Thomas Theis oder Ulrich Breymann. In diesem Stackoverflow-Beitrag werden noch andere Empfehlungen angebracht.
Solltest du nach Lernkursen (Videos/Tracks) suchen, schau auf Codecademy, Coursera, Educative, in die JetBrains Academy oder auf Udemy.
Zu externen Bibliotheken/Frameworks findest du in der Regel genügend in deren jeweiligen Online-Dokumentationen.
Das ist aber soweit noch längst nicht alles. Zum einen müsstest du dich noch tief in das Thema Audioverarbeitung eingraben (was ziemlich mathematiklastig werden kann) und zum anderen solltest du wissen, wie du deine Anwendung am besten strukturiert aufbauen kannst.
Letzteres betrifft die Softwareplanung. Mach dich zu Architektur-/Entwurfsmustern schlau. Grundsätzlich macht es Sinn, die Anwendung modular nach MVC- oder MVVM-Aufteilung aufzubauen.
Damit du den Überblick nicht verlierst und Einbahnstraßendesign vermeidest, solltest du im Vorfeld analysieren, was du erreichen möchtest, brauchst und wie die benötigten Ressourcen ineinandergreifen. Ein paar Stichworte hierzu wären Anforderungsanalyse und UML (use cases, activities, object-/class-diagram, ...).
Zur Audioentwicklung kann ich dir ebenfalls ein paar nützliche Quellen mitgeben. Du solltest aber auch selbst noch weiter recherchieren.