Menu
Coddy logo textTech

Stato della lista: isEmpty e isNotEmp

Fa parte della sezione Logica e flusso del percorso Dart di Coddy. Lezione 2 di 65.

Prima di lavorare con gli elementi di una lista, è essenziale sapere se la lista contiene effettivamente degli elementi. Dart fornisce due semplici proprietà per controllare lo stato di una lista: isEmpty e isNotEmpty.

La proprietà isEmpty restituisce true se la lista non contiene elementi e false se contiene almeno un elemento. La proprietà isNotEmpty funziona al contrario: restituisce true quando la lista contiene elementi e false quando è vuota.

List<String> emptyCart = [];
List<String> shoppingCart = ['apples', 'bread', 'milk'];

print(emptyCart.isEmpty);      // true
print(emptyCart.isNotEmpty);   // false

print(shoppingCart.isEmpty);   // false
print(shoppingCart.isNotEmpty); // true

Queste proprietà sono particolarmente utili per prevenire errori quando si tenta di accedere agli elementi di una lista. Controllare se una lista è vuota prima di usare proprietà come .first o .last ti aiuta a scrivere codice più sicuro e affidabile.

challenge icon

Sfida

Facile

Crea un programma che gestisca un sistema di code di attività verificando se gli elenchi di attività sono vuoti o contengono elementi. Il tuo programma deve:

  1. Leggere una stringa in input che rappresenta il nome della coda
  2. Leggere più stringhe in input che rappresentano le attività (l’input terminerà quando riceverai una stringa vuota)
  3. Usare la proprietà isEmpty per verificare se l’elenco di attività è vuoto
  4. Usare la proprietà isNotEmpty per verificare se l’elenco di attività contiene attività
  5. Stampare lo stato della coda esattamente nel formato mostrato di seguito

Ad esempio, se il nome della coda è "Daily Tasks" e le attività sono "Review emails", "Attend meeting", "Write report", il programma dovrebbe produrre:

Queue: Daily Tasks
Has tasks: true
Is empty: false
Task count: 3
Status: Ready for processing

Se il nome della coda è "Weekend Tasks" e non vengono fornite attività (input vuoto), il programma dovrebbe produrre:

Queue: Weekend Tasks
Has tasks: false
Is empty: true
Task count: 0
Status: No tasks to process

Il programma deve usare entrambe le proprietà isEmpty e isNotEmpty per determinare lo stato della coda. Il messaggio di stato deve essere "Ready for processing" quando sono presenti attività e "No tasks to process" quando la coda è vuota.

Provalo tu

import 'dart:io';

void main() {
  // Leggi il nome della coda
  String? queueName = stdin.readLineSync();
  
  // Leggi le attività finché non viene ricevuta una stringa vuota
  List<String> tasks = [];
  String? task;
  while ((task = stdin.readLineSync()) != null && task!.isNotEmpty) {
    tasks.add(task);
  }
  
  // TODO: Scrivi il tuo codice qui sotto
  // Usa le proprietà tasks.isEmpty e tasks.isNotEmpty per verificare lo stato della coda
  // Determina il messaggio di stato appropriato in base alla presenza di attività
  
  // Mostra i risultati
  print('Queue: $queueName');
  // Stampa se ci sono attività, se la coda è vuota, il numero di attività e lo stato
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Dart online