return print() ?

a marqué ce sujet comme résolu.

Bonjour, j’ai un petit souci en python.

C’est un code pompé sur internet qui renvoie à la fin une date avec un "ago" à la fin. J’arrive à supprimer le "ago" de la fin mais je n’arrive pas à ajouter "il y a" devant ma date. J’ai essayé beaucoup de possibilité mais rien ne fonctionne… J’ai essayé un return print mais ça ne fonctionne pas non plus

result = human(delta, precision, abbreviate=abbreviate)

    # remove commas if abbreviating ("3d 2h ago", not "3d, 2h ago")
    if abbreviate:
        result = result.replace(",", "").replace("d", "j")

return result.replace("day", "jour").replace("hour", "heure").replace("ago", "")

Si quelqu’un a une solution pour facilement ajouter mon "il y a", je le remercie par avance :)

Salut,

Avant toutes choses apprend Python.

La ligne avec if doit être au même niveau d’indentation que le reste.

print est pour afficher des choses, pas modifier une chaîne. return est pour indiquer la valeur renvoyée par une fonction et en sortir.

Pour concaténer deux chaines de caractères, tu peux utiliser l’opérateur +. Cela dit, encore une fois, apprend Python. Ce n’est pas en écrivant des trucs au pif jusqu’à ce que ça marche par hasard que tu vas progresser efficacement…

+3 -0

Personnellement, j’aime bien utiliser la fonction format pour concaténer mes chaines et mes variables

Angelo

Oui ça peut servir à cela même si c’est pas forcément privilégié pour une simple concaténation. Note par contre qu’un appel à format peut être remplacé par une f-string pour gagner en lisibilité.

>>> a, b = 3, 5
>>> '{} + {} = {}'.format(a, b, a+b)
'3 + 5 = 8'
>>> f'{a} + {b} = {a+b}'
'3 + 5 = 8'
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte