développement back-end
Tutoriel Python
Tutoriel Python: comment mettre correctement en œuvre la capitalisation des lettres initiales de phrases
Tutoriel Python: comment mettre correctement en œuvre la capitalisation des lettres initiales de phrases

1. Problème Contexte et malentendus communs
Lors du traitement des données de texte dans Python, la capitalisation des initiales des phrases est une exigence commune. Par exemple, si l'utilisateur entre "mon nom est Samantha. Je suis enseignant." Nous nous attendons à la sortie "Mon nom est Samantha. Je suis professeur." Lorsque les débutants implémentent cette fonction, un problème commun est que le contrôle de la logique de boucle est un contrôle inapproprié, ce qui fait que le programme échoue à réaliser l'effet attendu lorsqu'il est exécuté pour la première fois, et il ne fonctionne normalement que lors des deuxièmes exécutions ou suivantes. Cela est généralement dû à l'ordre des entrées, du traitement et de la sortie de l'utilisateur, et à l'emplacement de mise à jour incorrect des variables de boucle.
Les principaux problèmes de l'exemple de code d'origine sont:
- Une fois que l'utilisateur entre la première fois, le programme entre dans le traitement pour la boucle FOR, mais une fois le traitement terminé, l'instruction d'impression et les instructions d'entrée StrChoice et Strerenter ultérieures sont placées à l'intérieur de la boucle FOR, ce qui permet d'imprimer et de remettre en question chaque fois après le traitement d'un segment de phrase, plutôt que de procéder uniformément après que toutes les condamnations soient traitées.
- Il y a aussi un problème avec la logique de réaffectation de Strenter, qui est placé à l'intérieur de la boucle FOR et se trouve dans le bloc Else, ce qui entraîne le contrôle de la boucle.
- L'ensemble du programme n'a pas de boucle externe pour recevoir en continu la saisie de l'utilisateur jusqu'à ce que l'utilisateur se retire.
2. Idées et solutions de base
Pour mettre en œuvre correctement la capitalisation des initiales de la phrase, nous devons suivre les étapes suivantes:
- Obtenez l'entrée de l'utilisateur: recevez une chaîne contenant une ou plusieurs phrases.
- Sentillements divisés: divisez toute la chaîne en une liste de phrases indépendante en fonction des caractères de fin de la phrase (tels que des périodes, des points d'interrogation, des marques d'exclamation). Dans cet exemple, nous utilisons principalement "." (Période suivie d'un espace) comme séparateur.
- Traitez chaque phrase: Traversez la liste des phrases divisées et effectuez les opérations suivantes sur chaque phrase:
- Nettoyez les blancs: supprimez les caractères vierges au début et la fin d'une phrase.
- Nettoyer les points de ponctuation: (facultatif, selon les exigences) Retirez la période à la fin de la phrase pour les ajouts unifiés ultérieurs.
- Première lettre de capitalisation: convertir le premier caractère de la phrase en capitalisation, laissant le reste des personnages inchangé.
- Recombination: Repoussez toutes les phrases traitées avec des délimiteurs (comme ".") Et ajoutez une période à la fin (si le texte d'origine se termine par une période).
- Interaction de boucle: utilisez une boucle externe qui permet aux utilisateurs d'essayer plusieurs fois jusqu'à ce qu'ils choisissent de quitter.
3. Implémentation du code optimisé
Ce qui suit est le code Python optimisé selon les idées ci-dessus:
# Initialiser la sélection des utilisateurs pour s'assurer que le programme fonctionne au moins une fois strChoice = 'Y'
tandis que strChoice == 'y':
# Obtenir une entrée utilisateur Strerenter = Str (Input ("Entrez les phrases à modifier:"))
# Initialisez la variable strSentence = ""
# Diviser la chaîne d'entrée en tant que liste de phrases en fonction de "." Remarque: Split (".") Supprimera le séparateur lui-même, donc phrase_list = list (Strerent.split ("."))
# Traverse chaque phrase segmentée pour le traitement pour i dans la plage (LEN (phrase_list)):
# Supprimer les caractères vides phrase_list [i] = phrase_list [i] .strip ()
# Supprimer les périodes qui peuvent exister à la fin d'une phrase (si le format d'entrée d'origine n'est pas strict)
# Cette étape consiste à nous assurer que nous pouvons ajouter des périodes uniformément et éviter la phrase en double_list [i] = phrase_list [i] .strip (".")
# Converti le premier caractère d'une phrase en majuscules, le reste des caractères reste inchangé # Évitez d'utiliser .capitalize () car il convertit tous les caractères à l'exception de la lettre initiale à la phrase minuscule_list [i] = phrase_list [i] [: 1] .upper () phrase_list [i] [1:]
# Réutiliser la liste des phrases traitées "." Et ajouter une période à la fin # Cela garantit qu'il y a un intervalle correct entre chaque phrase et que l'ensemble du texte se termine par une période de strsentence = "." .Join (phrase_list) "."
# Imprimez l'impression de la phrase modifiée ("Votre phrase modifiée est:", STRENSENCE)
print () # Imprimez les lignes vierges pour augmenter la lisibilité # Demandez à l'utilisateur s'il faut continuer StrChoice = str (entrée ("Entrée 'y' pour réessayer ..."))
# Si l'entrée de l'utilisateur n'est pas «y», quittez la boucle si strchoice! = «Y»:
casser
# Une fois la boucle terminée, imprimez l'impression du message de remerciement ("Merci de l'utilisation de cette application")
Explication du code:
- strChoice = 'y' et tandis que strChoice == 'Y' :: Il s'agit d'un mode de contrôle de boucle classique qui garantit que le programme continue d'exécuter lorsque l'utilisateur choisit de continuer.
- StreRter = str (entrée (...)) : obtient la chaîne d'origine entrée par l'utilisateur.
- phrase_list = list (strent.split (".")) : étapes de clé. Il divise la chaîne d'entrée dans plusieurs sous-chaînes. (période suivie d'un espace), chaque sous-chaîne représente une phrase. La méthode Split () supprime le séparateur.
- phrase_list [i] .strip () : supprime des espaces supplémentaires qui peuvent exister avant et après chaque fragment de phrase.
- phrase_list [i] .strip (".") : supprime une période qui peut exister à la fin d'un segment de phrase. Il s'agit d'éviter les doubles périodes lors de la reconnexion et de les ajouter uniformément à la fin.
- phrase_list [i] [: 1] .upper () phrase_list [i] [1:] : Il s'agit d'un moyen standard et sûr de mettre en œuvre la capitalisation initiale. Il prend le premier caractère de la chaîne, le convertit en capitalisation, puis l'épisse avec le reste de la chaîne (à partir du deuxième caractère). Par rapport à Str.Capitalize (), cette méthode ne jette pas la première lettre d'autres mots de la phrase en minuscules, conserve le cas d'origine et ne traite que le premier caractère de la phrase.
- strsence = "." .join (phrase_list) "." : Repoussez la liste des phrases traitées et ajoutez une période à la fin de la chaîne entière pour assurer l'intégrité du format de sortie.
- Si StrChoice! = 'Y': Break : À la fin de chaque boucle, vérifiez la sélection de l'utilisateur et si ce n'est pas «Y», utilisez l'instruction BRISE pour quitter la boucle while.
4. Notes et extensions
- Traitement de ponctuation: les exemples de ce tutoriel sont principalement destinés aux phrases divisées par. Dans les applications pratiques, les phrases peuvent se terminer par!
- Entrée vide ou cas spécial: considérez le cas où l'entrée utilisateur est une chaîne vide ou ne contient que des espaces. Les méthodes actuelles Strip () et Split () peuvent mieux gérer ces situations, mais pour un texte plus complexe, une vérification d'erreur supplémentaire peut être nécessaire.
- Considérations de performances: pour les très grands fichiers texte, le traitement par caractères ou phrase par sensation peut affecter les performances. Dans ce cas, la lecture et le traitement en morceaux peuvent être pris en compte, ou une bibliothèque de traitement de texte plus optimisée peut être utilisée.
- Str.Capitalize () et Custom Capitalization: Str.Capitalize () Convertit le premier caractère de la chaîne en majuscule et convertit le reste en minuscules. Par exemple, "Hello World" .Capitalize () obtiendra "Hello World". Si votre exigence est de capitaliser uniquement la première lettre de la phrase et de conserver le cas d'origine du reste, s [: 1] .upper () s [1:] est un choix plus approprié, comme utilisé dans ce didacticiel.
- Support multilingue: pour les ensembles de caractères non anglais, les règles de conversion de cas pour les caractères peuvent varier. La méthode supérieure () de Python gère généralement bien les caractères Unicode, mais la complexité d'une langue spécifique peut nécessiter plus de bibliothèques professionnelles.
En maîtrisant les méthodes et les précautions ci-dessus, vous pouvez implémenter de manière flexible diverses exigences de formatage de texte dans Python, améliorant la robustesse et l'expérience utilisateur du programme.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Outils d'IA chauds
Undress AI Tool
Images de déshabillage gratuites
Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes
AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.
Clothoff.io
Dissolvant de vêtements AI
Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !
Article chaud
Outils chauds
Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit
SublimeText3 version chinoise
Version chinoise, très simple à utiliser
Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP
Dreamweaver CS6
Outils de développement Web visuel
SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)
Blockbuster Python terminé Affichage de l'entrée Python Collection de site Web fini gratuit
Jul 23, 2025 pm 12:36 PM
Cet article a sélectionné plusieurs sites Web de projet "finis" Python et des portails de ressources d'apprentissage "Blockbuster" de haut niveau pour vous. Que vous recherchiez l'inspiration de développement, l'observation et l'apprentissage du code source au niveau de la maîtrise ou que vous amélioriez systématiquement vos capacités pratiques, ces plateformes ne sont pas manquées et peuvent vous aider à devenir un maître Python rapidement.
Python pour l'apprentissage automatique quantique
Jul 21, 2025 am 02:48 AM
Pour commencer avec Quantum Machine Learning (QML), l'outil préféré est Python et des bibliothèques telles que Pennylane, Qiskit, Tensorflowquantum ou Pytorchquantum doivent être installées; Familiarisez-vous ensuite avec le processus en exécutant des exemples, tels que l'utilisation de Pennylane pour construire un réseau neuronal quantique; Ensuite, implémentez le modèle en fonction des étapes de la préparation des ensembles de données, du codage des données, de la construction de circuits quantiques paramétriques, de la formation Classic Optimizer, etc.; Dans le combat réel, vous devez éviter de poursuivre des modèles complexes depuis le début, en faisant attention aux limitations matérielles, en adoptant des structures de modèles hybrides et en se référant continuellement aux derniers documents et documents officiels à suivre le développement.
Exemple de commande de Shell Run Shell
Jul 26, 2025 am 07:50 AM
Utilisez Sub-Process.run () pour exécuter en toute sécurité les commandes de shell et la sortie de capture. Il est recommandé de transmettre des paramètres dans les listes pour éviter les risques d'injection; 2. Lorsque les caractéristiques du shell sont nécessaires, vous pouvez définir Shell = True, mais méfiez-vous de l'injection de commande; 3. Utilisez un sous-processus.popen pour réaliser le traitement de sortie en temps réel; 4. SET CHECK = TRUE pour lancer des exceptions lorsque la commande échoue; 5. Vous pouvez appeler directement des chaînes pour obtenir la sortie dans un scénario simple; Vous devez donner la priorité à Sub-Process.run () dans la vie quotidienne pour éviter d'utiliser OS.System () ou les modules obsolètes. Les méthodes ci-dessus remplacent l'utilisation du noyau de l'exécution des commandes shell dans Python.
Python Seaborn JointPlot Exemple
Jul 26, 2025 am 08:11 AM
Utilisez le plot conjoint de Seaborn pour visualiser rapidement la relation et la distribution entre deux variables; 2. Le tracé de diffusion de base est implémenté par sn.jointplot (data = pointes, x = "total_bill", y = "Tip", kind = "dispers"), le centre est un tracé de dispersion et l'histogramme est affiché sur les côtés supérieur et inférieur et droit; 3. Ajouter des lignes de régression et des informations de densité à un kind = "reg" et combiner marginal_kws pour définir le style de tracé de bord; 4. Lorsque le volume de données est important, il est recommandé d'utiliser "Hex"
Tutoriel de grattement Web Python
Jul 21, 2025 am 02:39 AM
Pour maîtriser Python Web Crawlers, vous devez saisir trois étapes de base: 1. Utilisez les demandes pour lancer une demande, obtenir du contenu de la page Web via la méthode GET, faire attention à la définition d'en-têtes, gérer les exceptions et se conformer à robots.txt; 2. Utilisez BeautifulSoup ou XPath pour extraire les données. Le premier convient à l'analyse simple, tandis que le second est plus flexible et adapté aux structures complexes; 3. Utilisez du sélénium pour simuler les opérations du navigateur pour le contenu de chargement dynamique. Bien que la vitesse soit lente, elle peut faire face à des pages complexes. Vous pouvez également essayer de trouver une interface API de site Web pour améliorer l'efficacité.
Python List to String Conversion Exemple
Jul 26, 2025 am 08:00 AM
Les listes de chaînes peuvent être fusionnées avec la méthode join (), telles que '' .join (mots) pour obtenir "HelloworldFrompython"; 2. Les listes de nombres doivent être converties en chaînes avec MAP (STR, nombres) ou [STR (x) Forxinnumbers] avant de rejoindre; 3. Toute liste de types peut être directement convertie en chaînes avec des supports et des devis, adaptées au débogage; 4. Les formats personnalisés peuvent être implémentés par des expressions de générateur combinées avec join (), telles que '|' .join (f "[{item}]" ForIteminitems)
Python Connexion à SQL Server PyoDBC Exemple
Jul 30, 2025 am 02:53 AM
Installez PYODBC: utilisez la commande PiPInstallpyodbc pour installer la bibliothèque; 2. Connectez SQLServer: utilisez la chaîne de connexion contenant le pilote, le serveur, la base de données, l'UID / PWD ou TrustEd_Connection via la méthode pyoDBC.Connect () et prendre en charge l'authentification SQL ou l'authentification Windows respectivement; 3. Vérifiez le pilote installé: exécutez pyodbc.Drivers () et filtrez le nom du pilote contenant «SQLServer» pour vous assurer que le nom du pilote correct est utilisé tel que «ODBCDriver17 pour SQLServer»; 4. Paramètres clés de la chaîne de connexion
Python Httpx Async Client Exemple
Jul 29, 2025 am 01:08 AM
Utilisez httpx.asyncclient pour initier efficacement les demandes HTTP asynchrones. 1. 2. Combiner asyncio.gather à se combiner avec Asyncio.gather peut considérablement améliorer les performances, et le temps total est égal à la demande la plus lente; 3. Prise en charge des en-têtes personnalisés, des paramètres d'authentification, de base_url et de délai d'expiration; 4. Peut envoyer des demandes de poste et transporter des données JSON; 5. Faites attention pour éviter de mélanger le code asynchrone synchrone. Le support proxy doit prêter attention à la compatibilité back-end, ce qui convient aux robots ou à l'agrégation API et à d'autres scénarios.


