Aufgaben

Code-Stücke können hier veröffentlicht werden.
Antworten
theC
User
Beiträge: 2
Registriert: Samstag 10. Dezember 2011, 01:12

hi,

ich bin mir nicht ganz sicher, ob ich hier um richtigen Sub-Forum bin, aber ich habe grade mit Python angefangen und suche mal ein paar Praxis aufgaben. Zuletzt hatte ich folgendes programmiert:

Code: Alles auswählen

#!/usr/bin/env python3.2


for i in range(5):
    userinput = input("Trage deinen namen ein: ")
    if userinput in ["tim", "tom"]:
        print("Auf der Liste") 
    else:
        print("Nicht auf der Liste!")
    versuch = input("Weiteren Namen prüfen? J/N: ")
    if versuch in ["J","j"]:
        continue
    else:
        break 
Eine Art Gästeliste. Kann man das so lassen? Und wenn ja, was gäbe es denn noch so zu programmieren? Einfach um etwas Praxis zu erlernen :D

lg
theC
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Löse mathematische Probleme (projecteuler.net), automatisiere Verarbeitung von vielen Zahlen oder Dateien (Massenumbenenner z.B.), baue ein Skript, das per Internetzugriff Informationen abfragt und verarbeitet (da fällt dir garantiert was ein, wie z.B. Massendownloader, der für die Übergabe an wget alle Links ergattert), evtl. ein textbasiertes Spielchen, später 2D-Kram wenn du Lust auf etwas anspruchsvolleres kriegen solltest.

Und ja, all diese Aufgaben nutzen aus, dass Python für die schnelle Entwicklung von Sachen gedacht ist und so Zeit einspart. Du darfst gern weitere, eher "akademisch" angehauchte Sachen, programmieren, aber ich finde wenn man sich was aussucht, was tatsächlich einem nützt, man eher bestrebt ist es immer weiter zu verbessern und so dazu zu lernen :mrgreen:
Zuletzt geändert von webspider am Samstag 10. Dezember 2011, 21:22, insgesamt 1-mal geändert.
BlackJack

@theC: Verbesserungsvorschläge für den das Programm: Bei dem letzten ``if``/``else`` solltest Du in der Bedingung den Test umkehren und nur wenn `versuch` nicht einer positiven Antwort entspricht die Schleife abbrechen. Dann kannst Du Dir den ``else``-Zweig sparen, denn fortgeführt wird die Schleife auch ohne das man ihr das am Ende explizit sagt.

Den Test auf das 'J'/'j' könnte man auch so lösen, dass man `versuch` in Kleinbuchstaben umwandelt und dann nur auf ``== 'j'`` testet.

Ansonsten solltest Du Dir früh Funktionen angewöhnen, also am besten den ganzen Code den Du da hast in eine Funktion, zum Beispiel mit dem Namen `main()` stecken und diese dann mit folgendem Idiom aufrufen:

Code: Alles auswählen

if __name__ == '__main__':
    main()
Damit vermeidet man die „Verschmutzung“ des Modulnamensraums, was bei grösseren Programmen später zu subtilen Problemen führen kann.
theC
User
Beiträge: 2
Registriert: Samstag 10. Dezember 2011, 01:12

webspider hat geschrieben:Löse mathematische Probleme (projecteuler.net), automatisiere Verarbeitung von vielen Zahlen oder Dateien (Massenumbenenner z.B.), baue ein Skript, das per Internetzugriff Informationen abfragt und verarbeitet (da fällt dir garantiert was ein, wie z.B. Massendownloader, der für die Übergabe an wget alle Links ergattert), evtl. ein textbasiertes Spielchen, später 2D-Kram wenn du Lust auf etwas anspruchsvolleres kriegen solltest.

Und ja, all diese Aufgaben nutzen aus, dass Python für die schnelle Entwicklung von Sachen gedacht ist und so Zeit einspart. Du darfst gern weitere, eher "akademisch" angehauchte Sachen, programmieren, aber ich finde wenn man sich was aussucht, was tatsächlich einem nützt, man eher bestrebt ist es immer weiter zu verbessern und so dazu zu lernen :mrgreen:
Könnten wir nicht lieber mit was einfacherem anfangen? :shock: :wink:
BlackJack

@theC: Also projecteuler.net fängt eigentlich ziemlich einfach an. Bei den ersten Aufgaben muss man nicht besonders nachdenken, die kann man auch „dumm“ lösen, mit heutigen Rechnern.

Beim Sphere Online Judge gibt es einen Haufen Aufgabenstellungen an denen man sich probieren kann.

Wie sieht es mit webspiders Vorschlag aus etwas anzugehen, was Du auch tatsächlich gebrauchen kannst?
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Es ist nicht besonders schwierig, insbesondere da Python einem die nötigen Schritte zum Aufbau deutlich vereinfacht im Vergleich zu anderen Programmiersprachen. Am meisten Aufwand verbringt man in der Regel damit sich genau zu überlegen was das Programm können soll und wie es von der Logik und Aufbau her aussehen soll. Der Rest ist dann Implementierung.

Aber ok, du darfst gern wie alle anderen Programmieranfänger Fakultätsberechnung oder ähnlich triviales, weniger praktisch einsetzbares implementieren wenn dir sowas mehr Spaß macht. Ich bevorzuge es mehr durchs Fordernde zu lernen :lol:
Antworten