Ripasso - Validatore del profilo utente
Fa parte della sezione Logica e flusso del percorso Rust di Coddy. Lezione 65 di 66.
Sfida
FacileRiceverai tre input che rappresentano un profilo utente. Il primo input è un nome utente, il secondo è un'età e il terzo è un indirizzo email. Convalida il profilo secondo le seguenti regole e stampa il messaggio appropriato:
Regole di convalida:
- Il nome utente deve contenere almeno 3 caratteri
- L'età deve essere compresa tra 13 e 120 (inclusi)
- L'email deve contenere il simbolo
@
Requisiti:
- Leggi l'input del nome utente e rimuovi gli spazi bianchi
- Leggi l'input dell'età, rimuovi gli spazi bianchi e convertilo in
i32 - Leggi l'input dell'email e rimuovi gli spazi bianchi
- Verifica che la lunghezza del nome utente sia di almeno 3 caratteri
- Verifica che l'età rientri nell'intervallo da 13 a 120 (usa
matchcon gli intervalli) - Verifica che l'email contenga il carattere
@(usa il metodo.contains()) - Se tutte le convalide hanno esito positivo, stampa:
Valid profile - Se il nome utente è troppo corto, stampa:
Invalid username - Se l'età è fuori intervallo, stampa:
Invalid age - Se l'email non contiene
@, stampa:Invalid email - Verifica i dati nell'ordine seguente: prima il nome utente, poi l'età e infine l'email
Input:
- Prima riga: un nome utente (ad es.,
alice123) - Seconda riga: un'età (ad es.,
25) - Terza riga: un indirizzo email (ad es.,
alice@example.com)
Output:
- Uno tra:
Valid profile,Invalid username,Invalid ageoInvalid email
Provalo tu
use std::io;
fn main() {
// Leggi il nome utente inserito
let mut username = String::new();
io::stdin().read_line(&mut username).expect("Failed to read line");
let username = username.trim();
// Leggi l'età inserita
let mut age_input = String::new();
io::stdin().read_line(&mut age_input).expect("Failed to read line");
let age: i32 = age_input.trim().parse().expect("Failed to parse age");
// Leggi l'indirizzo email inserito
let mut email = String::new();
io::stdin().read_line(&mut email).expect("Failed to read line");
let email = email.trim();
// TODO: Scrivi qui sotto il tuo codice per convalidare il profilo
// Controlla la lunghezza del nome utente, l'intervallo di età e il formato dell'indirizzo email
// Stampa il messaggio appropriato in base ai risultati della convalida
}Tutte le lezioni di Logica e flusso
1Flusso di controllo avanzato
L’espressione 'match'Corrispondenza di più valoriCorrispondenza di intervalliL’espressione 'if let'I cicli come espressioniRiepilogo - Parser di comandi semplice4Raggruppare i dati con le struct
Che cos'è una struct?Panoramica sulle structAccedere ai campi di una structStruct mutabiliLe struct come parametri di funzioneStruct tuplaRiepilogo - Crea una struct Book2Introduzione ai vettori
Che cos'è un vettore?Creare un vettoreAggiungere elementi con pushAccedere agli elementi di un vettoreScorrere un vettoreIterazione mutabileRimuovere elementiRiepilogo - Tracker di punteggi di base5Coppie chiave-valore con le mappe hash
Che cos'è una mappa hash?Creare una mappa hashInserire coppie chiave-valoreAccedere ai valoriIterare su una mappa hashAggiornare un valoreRimuovere una coppiaRiepilogo - Contatore di parole8Progetto: semplice inventario di articoli
Impostazione del progettoAggiungere un articoloControllare le scorteVendere un articoloMettere insieme il tutto11Sfide finali
Ripasso - Elementi uniciRipasso - Validatore del profilo utenteRipasso - Riepilogo dei voti3Lista di cose da fare da riga di comando
Impostazione del progettoAggiungere un'attivitàVisualizzare tutte le attivitàRimuovere un'attivitàCodice finaleEsercitati da solo: Compilatore Rust online