1
votes

Comment puis-je créer du code qui renvoie le jour de la semaine en Python?

Je souhaite créer un script qui renvoie le jour de la semaine, s est une chaîne qui représente le jour de la semaine, et k est un entier qui renvoie le jour de la semaine qui est K jours plus tard.

Voici mon code:

weekday = {
    "Mon": 0,
    "Tue": 1,
    "Wed": 2,
    "Thu": 3,
    "Fri": 4,
    "Sat": 5,
    "Sun": 6
}


def wd(s, k):
    s = list(weekday.values())[list(weekday.keys()).index(s)]
    k %= 7
    result = s + k
    return result


print(wd('Sat', 23))


0 commentaires

3 Réponses :


1
votes

Essayez ceci,

weekday = {
    "Mon": 0,
    "Tue": 1,
    "Wed": 2,
    "Thu": 3,
    "Fri": 4,
    "Sat": 5,
    "Sun": 6
}


def wd(s, k):
    s = list(weekday.values())[list(weekday.keys()).index(s)]
    k %= 7
    result = (s + k) % 7
    return result


for key, value in weekday.items():
    if value == wd('Sat', 1):
        print(key)


2 commentaires

Merci! Maintenant, comment le représenter sous forme de chaîne? Dans ce cas, s = 'Sat', k = 23, sortie: 'Mon'


pour la clé, valeur en jour de la semaine.items (): if value == wd ('Sat', 1): print (key)



1
votes

Utilisez le module calendrier :

0

Sortie:

import calendar
def wd(s, k):
    return (dict(zip(list(calendar.day_abbr), range(7)))[s] + k % 7) % 7

print(wd('Sat', 23))


0 commentaires

0
votes

Vous pouvez utiliser la fonction suivante:

lst = list(weekday.keys())

def wd(s, k):
    return lst[weekday[s] + k % 7]

print(wd('Mon', 1))
# Tue


0 commentaires