Eine Aufgabe entfernen
Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 18 von 66.
Aufgabe
EinfachSie erhalten drei Eingaben: erstens eine durch Kommas getrennte Liste bestehender Aufgaben; zweitens eine Aufgabennummer, die entfernt werden soll (1-basierte Indizierung); und drittens eine neue Aufgabe, die nach dem Entfernen hinzugefügt werden soll. Lesen Sie alle Eingaben ein, erstellen Sie einen Vector aus den Aufgaben, entfernen Sie die angegebene Aufgabe, fügen Sie die neue Aufgabe hinzu und zeigen Sie die aktualisierte Aufgabenliste an.
Anforderungen:
- Lesen Sie die erste Eingabe ein, die durch Kommas getrennte Aufgabenbeschreibungen enthält (z. B.
Buy groceries,Call dentist,Finish homework) - Teilen Sie die Zeichenfolge an den Kommas auf, um die einzelnen Aufgaben zu erhalten
- Erstellen Sie einen veränderbaren Vector und fügen Sie jede Aufgabe hinzu
- Lesen Sie die zweite Eingabe ein und konvertieren Sie diese in eine Ganzzahl (die Nummer der zu entfernenden Aufgabe, unter Verwendung der 1-basierten Indizierung)
- Konvertieren Sie den 1-basierten Index in einen 0-basierten Index und verwenden Sie
.remove(), um die Aufgabe an diesem Index zu entfernen - Lesen Sie die dritte Eingabe ein, die eine neue hinzuzufügende Aufgabe enthält
- Verwenden Sie
.push(), um die neue Aufgabe zum Vector hinzuzufügen - Geben Sie die Gesamtzahl der Aufgaben im Format
Total tasks: Xaus - Geben Sie jede Aufgabe in einer separaten Zeile im Format
Task: [task description]aus
Eingabe:
- Erste Zeile: Durch Kommas getrennte Aufgabenbeschreibungen (z. B.
Buy groceries,Call dentist,Finish homework) - Zweite Zeile: Eine Ganzzahl, die die Nummer der zu entfernenden Aufgabe darstellt (1-basierte Indizierung)
- Dritte Zeile: Eine neue hinzuzufügende Aufgabe (z. B.
Study for exam)
Ausgabe:
- Erste Zeile:
Total tasks: X, wobei X die Gesamtzahl der Aufgaben nach dem Entfernen und Hinzufügen ist - Folgende Zeilen: Jede Aufgabe wird als
Task: [task description]ausgegeben
Probier es selbst
use std::io::{self, BufRead};
fn main() {
let stdin = io::stdin();
let mut lines = stdin.lock().lines();
// Lies die durch Kommas getrennten Aufgaben
let tasks_input = lines.next().unwrap().unwrap();
// Lies die Nummer der zu entfernenden Aufgabe (1-basierte Indizierung)
let task_to_remove = lines.next().unwrap().unwrap();
let task_number: usize = task_to_remove.trim().parse().unwrap();
// Lies die neue Aufgabe, die hinzugefügt werden soll
let new_task = lines.next().unwrap().unwrap();
// TODO: Schreibe deinen Code unten
// Teile tasks_input anhand der Kommas auf und erstelle einen veränderbaren Vektor
// Entferne die Aufgabe am angegebenen Index (konvertiere 1-basiert in 0-basiert)
// Füge die neue Aufgabe dem Vektor hinzu
// Gib die Ergebnisse aus
// Gib die Gesamtzahl der Aufgaben im Format aus: Total tasks: X
// Gib jede Aufgabe im Format aus: Task: [task description]
}Alle Lektionen in Logic & Flow
1Fortgeschrittener Kontrollfluss
Der 'match'-AusdruckAbgleichen mehrerer WerteBereiche abgleichenDer 'if let'-AusdruckSchleifen als AusdrückeRückblick – Einfacher Befehls-Parser4Daten gruppieren mit Structs
Was ist ein Struct?Übersicht über StructsZugriff auf Struct-FelderVeränderbare StructsStructs als FunktionsparameterTupel-StructsZusammenfassung – Ein Buch-Struct erstellen2Einführung in Vektoren
Was ist ein Vektor?Einen Vektor erstellenElemente mit push hinzufügenZugriff auf Vektor-ElementeÜber einen Vektor iterierenVeränderliche IterationElemente entfernenZusammenfassung – Einfacher Score-Tracker5Schlüssel-Wert-Paare mit Hash Maps
Was ist eine Hash Map?Erstellen einer Hash MapEinfügen von Schlüssel-Wert-PaarenZugreifen auf WerteIterieren über eine Hash MapAktualisieren eines WertesEntfernen eines PaaresZusammenfassung – Wortzähler8Projekt: Einfaches Artikelinventar
Projekt-SetupEinen Artikel hinzufügenLagerbestand prüfenEinen Artikel verkaufenAlles zusammenfügen11Abschluss-Herausforderungen
Wiederholung - Einzigartige ElementeWiederholung - Benutzerprofil-ValidatorWiederholung - Noten-Zusammenfassung3Kommandozeilen-To-Do-Liste
Projekt-SetupEine Aufgabe hinzufügenAlle Aufgaben anzeigenEine Aufgabe entfernenFinaler Code