Sie können eine einfache To-Do-Listen-App in Python erstellen, so geht's.
Python ist eine vielseitige Sprache, und sogar Anfänger können mit nur grundlegenden Kenntnissen etwas Cooles entwerfen und umsetzen. Wir werden ein einfaches To-Do-Listen-App mit Python entwickeln, die Sie tatsächlich nutzen können, wenn Sie fertig sind!
Grundlegende Python-Konzepte
Bis jetzt solltest du wissen, was Python ist und wie es funktioniert. Bevor wir in den Code eintauchen, werden wir einige der grundlegenden Konzepte wiederholen, die wir für diese To-Do-Liste-Anwendung verwenden werden.
Variablen und Datentypen
Eine Variable ist ein Platzhalter zum Speichern von Daten, während ein Datentyp die Art der Daten definiert, die eine Variable halten kann, wie z.B. Zahlen, Zeichenfolgen oder Boolesche Werte.
Benutzereingabe und -ausgabe
Benutzereingaben und -ausgaben sind das Herzstück unserer Anwendung. Wir möchten, dass die Benutzer Aufgaben hinzufügen und löschen sowie sie als abgeschlossen, fehlgeschlagen oder verschoben kennzeichnen können.
Listen und grundlegende Listenmanipulation
Wir werden auch eine fortgeschrittene Datenstruktur namens Liste für diese Aufgabe verwenden. Listen sind einfach Sammlungen anderer Datentypen. Man kann sich das wie ein Bücherregal vorstellen, wobei jedes Element eines der Bücher auf diesem Regal ist.
Den Code aufschlüsseln
Wir haben Visual Studio bereits zuvor für Python eingerichtet, also gibt uns das die Gelegenheit, es auszuprobieren. Wir werden eine neue Python-Projektdatei erstellen und sie irgendwo speichern, und dann entscheiden, welche Konzepte wir für diese Anwendung benötigen.
Um es einfach zu halten, verwenden wir nur Wörter (Strings), um unsere Aufgaben zu definieren. Wir werden eine Liste von Strings verwenden, um diese Aufgaben zu verfolgen. In Python ist es so einfach wie das Tippen:
tasks = []Dies erstellt eine Liste von Aufgaben, die wir erweitern können. Die App, die wir entwickeln, muss drei Dinge tun:
- Eine Aufgabe hinzufügen
- Eine Aufgabe entfernen
- Zeige uns alle Aufgaben in der Warteschlange
Eine Aufgabe hinzufügen
Jetzt, da wir eine Liste von Aufgaben haben, können wir sie erweitern. Lassen Sie uns eine Funktion add_task() erstellen:
def add_task(task):
tasks.append(task)
print("Task added successfully!")Die Funktion fügt die angegebene Aufgabe hinzu und teilt uns dann mit, dass die Aufgabe erfolgreich hinzugefügt wurde. Die Bestätigung ist notwendig, da sie uns informiert, dass die Funktion funktioniert.
Eine Aufgabe entfernen
Nachdem wir eine Aufgabe hinzugefügt haben, möchten wir in der Lage sein, die Aufgabe zu entfernen, wenn sie abgeschlossen ist. Das ist auch ziemlich einfach, da Listen so leistungsfähig sind. Lassen Sie uns eine neue Funktion hinzufügen, um eine Aufgabe zu entfernen:
def remove_task(task):
if task in tasks:
tasks.remove(task)
print("Task removed successfully!")
else:
print("Task not found.")
Der obige Code ermöglicht es Ihnen, eine einzelne Aufgabe zu entfernen, sobald Sie ihren Namen eingeben. Wenn die Aufgabe gefunden wird, wird sie entfernt. Was passiert, wenn die Aufgabe falsch geschrieben ist oder einfach nicht existiert? In diesem Fall wird der Code uns mitteilen, dass die Aufgabe nicht existiert, da er die Liste durchsuchen und die gesuchte Aufgabe nicht finden wird.
Anzeige der Aufgabenwarteschlange
Jetzt, da wir Aufgaben hinzufügen und entfernen können, müssen wir eine Möglichkeit haben, die Liste anzuzeigen. Lassen Sie uns eine Funktion display_tasks() entwickeln, die dies für uns übernimmt:
def display_tasks():
if tasks:
print("Your to-do list:")
for index, task in enumerate(tasks, start=1):
print(f"{index}. {task}")
else:
print("Your to-do list is empty.")Dies ist kein zu kompliziertes Stück Code, um es zu verstehen. Die erste Zeile, „if tasks:“, fordert Python auf zu überprüfen, ob die Aufgabenliste leer ist. Wenn sie es nicht ist, werden wir sie mit einer for-Schleife durchlaufen.
For-Schleifen haben einen definierten Start- und Endpunkt. In diesem Beispiel werden wir die Aufgabenliste auflisten, um die Anzahl der Aufgaben in der Liste zu erhalten. Dann werden wir durch jeden Eintrag iterieren und ihn auf dem Bildschirm ausdrucken.
Wenn die Liste leer ist, sagen wir dem Benutzer einfach, dass seine To-Do-Liste leer ist.
Testen, um zu sehen, ob unsere Funktionen funktionieren
Jetzt, da wir ein paar Funktionen geschrieben haben, müssen wir sie testen, um zu sehen, ob sie funktionieren. In jedem Code ist das Testen entscheidend, um sicherzustellen, dass unser Code das tut, was wir von ihm erwarten. Wir können dies tun, indem wir einige Testanweisungen verwenden:
add_task("Buy groceries")
add_task("Finish homework")
display_tasks()
remove_task("Buy groceries")
display_tasks()Wenn wir dies am Ende unseres Python-Codes hinzufügen, sollten wir dieses Ergebnis erhalten:
Jetzt, da wir wissen, dass unsere Funktionen funktionieren, sind sie immer noch irgendwie nutzlos, da der Benutzer seine eigenen Aufgaben nicht eingeben kann. Lass uns das beheben.
Wir benötigen drei Funktionen: eine zum Eingeben, um eine neue Aufgabe hinzuzufügen, eine um eine alte Aufgabe zu entfernen, und eine um die Aufgabenliste anzuzeigen:
Function to take user input for adding a task
def get_task_from_user():
return input("Enter the task: ")
Function to take user input for removing a task
def get_task_to_remove():
return input("Enter the task to remove: ")
Function to take user input for displaying tasks
def get_display_choice():
return input("Enter 'A' to add a task, 'R' to remove a task, or 'D' to display tasks: ").upper()
Jede dieser Funktionen gibt das, was der Benutzer eingibt, auf dem Bildschirm zurück. Wir können diese Funktionen als Handler betrachten, um Eingaben des Benutzers zu sammeln und diese Eingaben sofort für etwas anderes zu verwenden. Man kann sich ein "return" als das vorstellen, was man von der Funktion nach dem Aufruf zurückbekommt.
Jetzt wollen wir ein Menü anzeigen, damit der Benutzer wählen kann, welche dieser Aufgaben er ausführen möchte:
def main():
while True:
choice = get_display_choice()
if choice == 'A':
task = get_task_from_user()
add_task(task)
elif choice == 'R':
task = get_task_to_remove()
remove_task(task)
elif choice == 'D':
display_tasks()
else:
print("Invalid choice. Please try again.")
if __name__ == "__main__":
main()Lass uns ansehen, was das bewirkt. Wenn wir die main()-Funktion ausführen, zeigen wir eine Liste von Optionen an, die der Benutzer eingeben kann (ein Menü). Das Menü fordert den Benutzer auf, eines von drei Eingaben zu machen, und führt dann die ausgewählte Aufgabe basierend auf dem aus, was sie eingeben.
Angenommen, der Benutzer gibt A ein, um eine Aufgabe hinzuzufügen. In diesem Fall wartet das Programm darauf, dass der Benutzer etwas eingibt, nimmt diese Eingabe und übergibt sie an die Funktion add_task(), die wir zuvor erstellt haben, um eine neue Aufgabe hinzuzufügen; dasselbe gilt, wenn der Benutzer R als Eingabe eingibt, außer dass die Funktion remove_task() auf die Eingabe angewendet wird.
Wenn sie D wählen, zeigt das Programm die Liste ihrer Aufgaben an. Wenn sie etwas anderes eingeben, fordert das Programm sie auf, dass die Eingabe nicht zu einer der Optionen im Menü passt.
Diese Hauptfunktion wird unbegrenzt weiterlaufen, da wir sie in einer „while“-Schleife kapseln.
Schließlich wird die letzte Zeile die main() Funktion starten, wenn wir dem Programm sagen, dass es ausgeführt werden soll.
Nachdem Sie diese Funktionen eingefügt haben, können Sie den Testcode entfernen:
add_task("Buy groceries")
add_task("Finish homework")
display_tasks()
remove_task("Buy groceries")
display_tasks()Testen und Iteration
Wenn Sie interessiert sind, finden Sie die endgültige Iteration dieses Codes, einschließlich Kommentaren, auf meinem GitHub. Wenn Sie richtig mitgearbeitet haben, sollte Ihre Ausgabe ungefähr so aussehen:
Fühlen Sie sich frei, mit dem Hinzufügen und Entfernen von Aufgaben zu experimentieren. Herzlichen Glückwunsch zum Abschluss Ihrer ersten voll funktionsfähigen To-Do-Liste in Python!
Wohin von hier aus?
Wie Sie wahrscheinlich bemerkt haben, ist die Benutzeroberfläche für diese Anwendung minimal. Sie sieht langweilig aus mit einem Terminal- oder Konsoleneingang. Wenn Sie eine Herausforderung suchen, können Sie herausfinden, wie man eine GUI für diese Anwendung erstellt oder sie erweitert, um Dinge wie das Bearbeiten der Aufgaben einzuschließen. Jedes dieser Dinge kann Ihnen helfen, Python-Programmierung ein wenig mehr zu lernen, indem Sie komplexere Konzepte erkunden.
Je nachdem, was Sie mit dieser App tun möchten, können Sie Dinge hinzufügen oder ändern, um sie nützlicher für Sie zu machen. Das ist die Freude am Programmieren – Sie können eine einfache Idee nehmen und sie in etwas verwandeln, das perfekt zu Ihnen passt.


