Aujourd'hui, j'ai reçu une tâche pour compter le mot «terre» dans un texte en utilisant python-3. Je sais avec certitude que je dois utiliser s.count mais dans le texte, le mot est écrit dans les registres supérieur et inférieur. J'ai découvert que s.lower().count("earth") est ce dont j'ai besoin, mais je ne comprends pas pourquoi s.upper().count("earth") ou s.lower().count("Earth") ou s.upper().count("Earth") ne le font pas? J'ai juste besoin d'une explication. Voici le texte:

s = "In a distant, but not so unrealistic, future\
 where mankind has abandoned earth because it has\
 become covered with trash from products sold by\
 the powerful multi-national Buy N Large corporation,\
 WALLE, a garbage collecting robot has been left to\
 clean up the mess. Mesmerized with trinkets of Earth's\
 history and show tunes, WALLE is alone on Earth except\
 for a sprightly pet cockroach. One day, EVE, a sleek\
 (and dangerous) reconnaissance robot, is sent to Earth to\
 find proof that life is once again sustainable."
-1
Najeff 27 oct. 2020 à 23:16

2 réponses

Meilleure réponse

Lorsque vous utilisez s.lower() votre chaîne est devenue:

dans un avenir lointain, mais pas si irréaliste, où l'humanité a abandonné la terre parce qu'elle est devenue recouverte de déchets provenant de produits vendus par la puissante multinationale acheter n grande société, Walle, un robot de ramassage des ordures a été laissé pour nettoyer le désordre . hypnotisé par les bibelots de l'histoire de la terre et les airs de spectacle, Walle est seul sur terre à l'exception d'un cafard de compagnie enjoué. un jour, eve, un robot de reconnaissance élégant (et dangereux), est envoyé sur terre pour trouver la preuve que la vie est à nouveau durable.

Dans ce texte n'existe pas EARTH car tous les caractères sont en minuscules

Également lorsque vous utilisez s.uper():

DANS UN AVENIR DISTANT, MAIS PAS SI IRRÉALISTE, O WH L'HOMME A ABANDONNÉ LA TERRE CAR ELLE A ÉTÉ RECOUVERTE DE DÉCHETS PROVENANT DE PRODUITS VENDUS PAR LA PUISSANTE MULTI-NATIONALE ACHAT ET LA GRANDE CORPORATION, WALLE, UN ROBOT DE COLLECTE DE DÉCHETS A ÉTÉ LAISSÉ POUR NETTOYER . MESMÉRISÉ AVEC DES TRINKETS DE L'HISTOIRE DE LA TERRE ET DES TUNES DE SPECTACLE, WALLE EST SEUL SUR TERRE SAUF POUR UN COCKROACH SPRIGHTLY PET. UN JOUR, EVE, UN ROBOT DE RECONNAISSANCE SOMME (ET DANGEREUX), EST ENVOYÉ SUR TERRE POUR TROUVER LA PREUVE QUE LA VIE EST DE NOUVEAU DURABLE.

Tout caractère est supérieur et n'existe pas sur Terre

1
Ruli 27 oct. 2020 à 21:12

Appeler s.lower() rendra votre chaîne entièrement en minuscules. Sur une chaîne de toutes les lettres minuscules, vous appelez alors count("earth") car il n'y a plus de majuscules dans votre chaîne.

1
Maja Ozegovic 27 oct. 2020 à 20:26