Wie finde ich einen String aus einer Liste heraus?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich möchte gerne prüfen, ob ein Tag ein Feiertag ist. Dafür benutze ich ein Skript von Stephan John, das auch wunderbar funktioniert. Die Ausgabe der Feiertage erfolgt im Format [[datetime-Objekt, Bezeichnung],].

    Code
    [[datetime.date(2015, 1, 1), u'Neujahr'], [datetime.date(2015, 4, 3), u'Karfreitag'], [datetime.date(2015, 4, 5), u'Ostersonntag'], [datetime.date(2015, 4, 6), u'Ostermontag'], [datetime.date(2015, 5, 1), u'1. Mai'], [datetime.date(2015, 5, 14), u'Christi Himmelfahrt'], [datetime.date(2015, 5, 24), u'Pfingstsonntag'], [datetime.date(2015, 5, 25), u'Pfingstmontag'], [datetime.date(2015, 6, 4), u'Fronleichnam'], [datetime.date(2015, 10, 3), u'Tag der deutschen Einheit'], [datetime.date(2015, 12, 25), u'Erster Weihnachtsfeiertag'], [datetime.date(2015, 12, 26), u'Zweiter Weihnachtsfeiertag']]

    Wie kann ich jetzt prüfen ob bspw. der heutige Tag ein Feiertag ist, also wie nehme ich so eine Liste "auseinander" mit if statements?

  • Wie finde ich einen String aus einer Liste heraus?? Schau mal ob du hier fündig wirst!

  • Wäre nett wenn du das Script anhängen könntest, denn herunterladen funktioniert nicht.

    Du siehst doch am Ende der Anleitung ein Beispiel:

    [code=php] #!/usr/bin/env python
    # -*- coding: utf-8 -*-

    # Import des Scriptes:

    import berechnung_feiertage as bf

    # Initialisierung der Klasse und Übergabe der
    # gewünschten Parameter. Im Beispiel werden die
    # Feiertage für Sachsen im Jahr 2010 abgefragt

    holidays = bf.Holidays(2010, 'SN')

    # Abruf einer Liste, die alle Feiertage enthält. Die Liste
    # hat das Format [[datetime-Objekt, Bezeichnung],]

    liste = holidays.get_holiday_list()

    # Ausgabe der Liste. Die Ausgabe kann natürlich beliebig
    # angepasst werden.

    for feiertag in liste:
    print feiertag[/php]

    Nun brauchst du doch nur in der for-Schleife ein Anfrage auf den heutigen Tag einzufügen :huh:
    Allerdings glaub ich ginge das einfacher/schneller

  • Hallo meigrafd,

    Skript hängt anbei (außer dem allerletzten Absatz, da ich es aus einem anderen Skript aufrufe und den Teil nicht brauche).

    Ich stehe trotzdem auf dem Schlauch, wie ich diese Liste mit dem heutigen Datum vergleichen kann. Muss ich die Liste erst mal umwandeln, damit die ganzen Bezeichnungen der Feiertage rausfliegen? :huh:

  • Moin

    Ohne das Programm jetzt gesehen zu haben und ohne Gewähr (der Schädel brummt noch):

  • Beispiel:

    Nun nehmen wir uns die Liste vor.
    Das oben in Beitrag#2 genannte Testscript verändern wir jetzt etwas um die 2 Elemente in der Liste getrennt bearbeiten zu können.
    Anstatt

    Und jetzt brauch man nur noch prüfen ob heute -> date entspricht :fies:

    [code=php]
    #!/usr/bin/python
    # -*- coding: utf-8 -*-

    import berechnung_feiertage as bf
    import datetime

    holidays = bf.Holidays(2015, 'NDS')
    liste = holidays.get_holiday_list()
    heute = datetime.date.today()

    for date,feiertag in liste:
    if heute == date:
    print("{} -> {}".format(date, feiertag))[/php]

    //EDIT: Das hier wäre noch etwas bequemer:
    [code=php]
    #!/usr/bin/python
    # -*- coding: utf-8 -*-

    import berechnung_feiertage as bf
    import datetime

    now = datetime.datetime.now()
    holidays = bf.Holidays(now.year, 'NDS')
    liste = holidays.get_holiday_list()
    heute = datetime.date.today()

    for date,feiertag in liste:
    if heute == date:
    print("{} -> {}".format(date, feiertag))
    [/php]

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!