- Ausführende
-
Lernen
Python lernen Ausführbare Beispiele, NumPy, pandas und mehr KI lernenNeuronale Netze, ML und LLMs von Grund auf C/C++ lernen Zeiger, Speicher, STL und modernes C++ C# lernenC#-Grundlagen, OOP, LINQ, Async und .NET-Übungen Matplotlib lernenLinien-, Balken-, Streu- und Kreisdiagramme mit interaktiven Visualisierungen Python-Algorithmen Suche, Sortierung, Rekursion und Visualisierungen O(n) C/C++-Algorithmen Implementierungen in C und C++ vergleichen Programmieren für Kinder Spielend programmieren lernen!
- AufgabenNeu
- Für LehrkräfteNeu
- Aktualisierungen
- Spendier mir einen Kaffee
Eine Verlustfunktion macht aus den Fehlern eines Modells eine einzige Zahl, die minimiert werden soll. Implementiere compute_loss(kind, predictions, targets) für drei gängige Verluste, wobei n die Anzahl der Vorhersagen ist:
"mse"(mittlerer quadratischer Fehler): Mittelwert von (p - t)²"mae"(mittlerer absoluter Fehler): Mittelwert von |p - t|"binary_cross_entropy": -Mittelwert von [t × ln(p) + (1 - t) × ln(1 - p)]. Begrenze zuerst jede Vorhersage p auf den Bereich [0.0000001, 0.9999999], damit der Logarithmus nie ln(0) ist.
Eingabe
kind: "mse", "mae" oder "binary_cross_entropy".
predictions: Die Vorhersagen des Modells.
targets: Die korrekten Werte (gleiche Länge). Bei der Kreuzentropie sind sie 0 oder 1, und die Vorhersagen liegen zwischen 0 und 1.
Ausgabe
Gib den Verlust als Dezimalzahl zurück.
Einschränkungen
1 ≤ Länge ≤ 1.000
-1.000 ≤ jeder Wert ≤ 1.000 (0 ≤ p ≤ 1 und t ∈ {0, 1} bei Kreuzentropie)
Beispiele
Beispiel 1
Eingabe:
kind = "mse"
predictions = [2.5, 0.0, 2.0]
targets = [3.0, -0.5, 2.0]
Erwartete Ausgabe:
0.166667
Erläuterung
Quadratische Fehler: 0.5² = 0.25, 0.5² = 0.25 und 0² = 0. Ihr Mittelwert ist 0.5 / 3 ≈ 0.166667.
Beispiel 2
Eingabe:
kind = "binary_cross_entropy"
predictions = [0.9, 0.2]
targets = [1.0, 0.0]
Erwartete Ausgabe:
0.164252
Erläuterung
-(ln(0.9) + ln(1 - 0.2)) / 2 = -(-0.105361 - 0.223144) / 2 ≈ 0.164252. Sichere, richtige Vorhersagen ergeben einen kleinen Verlust.
Referenzen
-
Beispiel 1 Nicht ausgeführtEingabe:
kind = "mse" predictions = [2.5, 0.0, 2.0] targets = [3.0, -0.5, 2.0]Erwartete Ausgabe:0.166667Deine Ausgabe -
Beispiel 2 Nicht ausgeführtEingabe:
kind = "binary_cross_entropy" predictions = [0.9, 0.2] targets = [1.0, 0.0]Erwartete Ausgabe:0.164252Deine Ausgabe
5 versteckte Tests werden beim Einreichen ebenfalls ausgeführt. Scheitert dein Code an einem, siehst du diesen Test. Löse die Aufgabe, um alle zu sehen.
Run Swift Online
Write, run, and debug Swift code online using a command-line Swift environment. Manage multiple files, save your workspace, and share code without installing Xcode.
🚀 19,043 Gesamt-Ausführungen (611 diesen Monat)
Übe Swift mit Coding Challenges
Löse praktische Aufgaben direkt im Editor: Führe die Beispieltests aus, reiche ein und erhalte ein KI-Code-Review.
🍎 Über diesen Swift Online-Executor
Der CodeUtility Swift Executor ermöglicht es dir, Swift-Code direkt im Browser zu schreiben und auszuführen - ganz ohne Xcode, SDK oder macOS-Setup. Er verwendet echte Swift-Compiler in isolierten Sandboxes, um präzises, natives Swift-Verhalten zu liefern.
Dieses Tool unterstützt mehrere Swift-Versionen - 5.7, 5.9 und die neueste Version - und gibt dir die Flexibilität, neue Sprachfeatures zu erkunden und die Kompatibilität mit älteren Swift-Codebasen zu wahren.
Ideal für Entwickler, die Swift-Syntax lernen, Algorithmen testen oder mit Code für iOS, macOS und serverseitiges Swift experimentieren - ohne lokale Tools oder Simulatoren installieren zu müssen.
Jedes Snippet läuft sicher in einer containerisierten Swift-Umgebung und sorgt für echtes Compiler-Feedback und eine sichere Codeausführung.
Mehr als nur ein Code-Runner
Nutzen Sie im selben Executor einen Editor für mehrere Dateien, ein isoliertes Ausführungsterminal, laufzeitspezifische Bibliotheken, persistente Arbeitsbereiche, Freigaben und Zusammenarbeit in Echtzeit.
Wie verwende ich diesen Executor?
Wählen Sie eine Laufzeit aus, öffnen oder erstellen Sie eine Datei, schreiben Sie Ihren Code und wählen Sie Ausführen. Die Ausgabe erscheint im Terminal. Angemeldete Benutzer können Dateien in einem Arbeitsbereich speichern, Bibliotheken installieren und über Freigaben zusammenarbeiten.
- Wählen Sie eine Version aus und bearbeiten Sie die aktuelle Datei oder öffnen Sie eine andere Datei aus dem Arbeitsbereich.
- Führen Sie den Code aus, geben Sie bei Aufforderung Daten im Terminal ein und prüfen Sie den gespeicherten Ausführungsverlauf.
- Nutzen Sie Bibliotheken, Arbeitsbereichswerkzeuge, Freigaben und den Chat, wenn Ihre Aufgabe mehr als ein einzelnes Codefragment erfordert.
💡 Swift-Grundlagen für Einsteiger
1. Variablen und Konstanten deklarieren
Verwende var für Variablen und let für Konstanten in Swift.
var age = 30
let pi = 3.14159
var name = "Alice"
let isActive = true
// Konstanten können nicht neu zugewiesen werden
// pi = 3.14 // ❌ Fehler
2. Bedingungen (if / switch)
Verwende if, else if, else für Logik und switch für mehrere Zweige.
let number = 2
if number == 1 {
print("Eins")
} else if number == 2 {
print("Zwei")
} else {
print("Sonstiges")
}
switch number {
case 1:
print("Eins")
case 2:
print("Zwei")
default:
print("Sonstiges")
}
3. Schleifen
Swift unterstützt for-in-, while- und repeat-while-Schleifen.
for i in 0..<3 {
print(i)
}
var n = 3
while n > 0 {
print(n)
n -= 1
}
4. Arrays
Arrays speichern geordnete Sammlungen von Werten.
var numbers = [10, 20, 30]
print(numbers[1])
5. Array-Manipulation
Verwende Array-Methoden wie append und removeLast.
var nums = [1, 2, 3]
nums.append(4)
nums.removeLast()
for n in nums {
print(n)
}
6. Konsolen-Ein-/Ausgabe
Verwende print() für Ausgaben. Eingaben erfordern zusätzliche Arbeit in Swift Playgrounds oder Xcode.
let name = "Alice"
print("Hallo, \(name)")
7. Funktionen
Definiere wiederverwendbare Funktionen mit Parametern und Rückgabewerten.
func add(a: Int, b: Int) -> Int {
return a + b
}
print(add(a: 3, b: 4))
8. Dictionaries
Dictionaries speichern Schlüssel-Wert-Paare.
var ages = ["Alice": 30]
print(ages["Alice"] ?? 0)
9. Fehlerbehandlung
Swift verwendet do-catch für die Fehlerbehandlung.
enum MyError: Error {
case runtimeError(String)
}
do {
throw MyError.runtimeError("Etwas ist schiefgelaufen")
} catch let error {
print(error)
}
10. Datei-Ein-/Ausgabe
Swift verwendet FileManager oder String-Methoden für Datei-Ein-/Ausgabe.
let text = "Hallo Datei"
try text.write(toFile: "file.txt", atomically: true, encoding: .utf8)
let content = try String(contentsOfFile: "file.txt")
print(content)
11. String-Manipulation
Verwende Methoden wie count, contains, uppercased() usw.
let text = "Hallo Welt"
print(text.count)
print(text.contains("Welt"))
print(text.uppercased())
12. Klassen & Objekte
Swift unterstützt OOP mithilfe von class und init.
class Person {
var name: String
init(name: String) {
self.name = name
}
func greet() {
print("Hi, ich bin \(name)")
}
}
let p = Person(name: "Alice")
p.greet()
13. Optionals
Swift verwendet ? und !, um optionale Werte zu handhaben.
var name: String? = "Alice"
print(name ?? "Unbekannt")
if let unwrappedName = name {
print(unwrappedName)
}