J'aimerais extraire le fournisseur de services de messagerie de l'entrée de l'utilisateur, ci-dessous ne me donne aucune erreur, mais il n'y a pas de résultat également.
apprécie si quelqu'un peut revoir et me faire savoir ce que je fais mal? < / p>
code: p> sortie p> résultat attendu p> Votre utilisateur Nom est: Nick.fury P> Votre fournisseur de services de messagerie est: gmail p> p>
4 Réponses :
Cette partie: aussi lors de l'utilisation de geeTemail [getemail.index ('@'): getemail.index ('.')]) code> ne fonctionne pas car getemail.index ('@') / code> est plus grand que getemail.index ('.')] code>.
getemail.index ('.')] code> retourne index de '.' '
Vous pouvez essayer cette approche: Imprimer code> méthode que vous n'avez pas à utiliser + code>. Vous pouvez utiliser , code>:
Imprimer ("Votre nom d'utilisateur est:", email) code> p> p>
code: sortie: p>
getEmail = input("Write your email: ")
email = getEmail.index('@')
print("Your user name is : " + getEmail[:email])
print("Your Email service provider is : " + getEmail[getEmail.index('@')+1:][:getEmail.index('.')-1])
Output :Write your email: asfdsf.asd@gmail.comYour user name is : asfdsf.asdYour Email service provider is : gmail
supposer une entrée bien formée, une approche beaucoup plus simple est
Qu'est-ce que
getemail.index (".") Code> sortie? Et si vous essayeznfury@gmail.com code>?@jonrsharpe
getemail.index (".") code> Dans ce cas, le retour 4 (premier index de '.'). Si vous utilisez un exemple comme vous l'avez proposé, cela fonctionnera, mais le code fixe ne fonctionnera pas correctement pour tous les courriels avec '.' en utilisation de nom d'utilisation.@Relandom i i> savoir que; C'est une question rhétorique destinée à guider l'OP pour résoudre le problème eux-mêmes.
Oh ... Désolé, je pensais que vous conseillez de changer de code plutôt que du code. Ma faute!
La partie de domaine de l'adresse e-mail n'est pas nécessairement indicative du fournisseur. Vous ne pouvez pas savoir si
utilisateur @ xyexample code> est dans un sous-domaine dey.example code> ou si c'est un domaine administratif de l'exemplecode> TLD ( Comparezmail.google.ca code> vsmail.google.co.uk code> etc. et essayez de ne pas tenir compte de la sémantique que nous sommes humains lisent dans ces étiquettes).