0
votes

Entrer date de naissance

gars, je fais un problème pour entrer une date de naissance dans le format DD / mm / aaaa

Les instructions à suivre sont

  1. Invitez l'utilisateur à entrer une date de naissance ci-dessous.

  2. extraire les 3 champs en tranchant la chaîne en 3 tranches. Pour séparer la journée du mois, vous devrez d'abord utiliser la méthode de recherche () pour trouver la position de la première barre oblique. Pour séparer le mois de l'année, vous devrez utiliser la méthode RFind () pour trouver la position de la dernière barre oblique.

    J'ai essayé de faire des tranches de chaîne et une concaténation aux côtés d'indexation, mais je suis tout à fait fragile sur la façon de le faire, ou si je le fais même. N'étaient également pas autorisés à utiliser des déclarations conditionnelles. xxx

    Le format attendu est:

    Entrez votre date de naissance: 30/8/1985

    jour: 30

    mois: 8

    Année: 1985


2 commentaires

Essayez jour, mois, année = anniversaire.split ('/')


Utilisation de Rechercher et RFind au lieu de la scission est inefficace. Votre code manque de la pièce , vous obtenez uniquement index - Vous devez toujours trancher la chaîne dans les données que vous souhaitez - quel est votre problème? Les questions demandant une aide aux devoirs doivent inclure un résumé du travail que vous avez effectué jusqu'à présent pour résoudre le problème et une description de la difficulté que vous avez la résolution. Veuillez lire Comment demander des questions sur les devoirs et Modifier votre message.


6 Réponses :


5
votes

Utilisation de RFind () CODE> est un chemin de rond-point pour le faire. Cela fonctionnera, mais vous seriez mieux avec xxx pré>

si votre instructeur insiste sur le (code> / / RFind code> approche que vous pouvez faire C'est de cette façon: p>

day = birthday[:birthday.find("/")]
month = birthday[birthday.find("/")+1:-birthday.rfind("/")-1]
year = birthday[-birthday.rfind("/"):]


0 commentaires

0
votes
birthday = input("Enter your date of birth: ",)
birthday_list = birthday.split("/")
print("Day: ",birthday_list[0])
print("Month: ", birthday_list[1])
print("Year: ", birthday_list[2])

0 commentaires

0
votes

Vous pouvez utiliser regex. XXX

Ensuite, vous pouvez obtenir un jour, un mois, une année à partir de cela. Veuillez vous reporter https://docs.python.org/3/library/ DateTime.html # Objets de date


0 commentaires

1
votes

Si vous avez un traitement supplémentaire de la date, le module DateTime CODE> est utile:

from datetime import datetime

birthday = input("Enter your date of birth: ")

bday = datetime.strptime(birthday, '%d/%m/%Y')

print(f'Day: {bday.day}')
print(f'Month: {bday.month}')
print(f'Year: {bday.year}')


0 commentaires

1
votes

lire depuis Docs sur Trouver et RFind . Ils renvoient les indices les plus bas et les plus élevés de l'occurrence trouvée. Donc, vous devriez faire à la place: xxx

sortie: xxx


0 commentaires

-1
votes

Cela fonctionne de façon passée: xxx


0 commentaires