J'ai fait une idée simple si la déclaration de Python 3 qui vérifie s'il y a un mot spécifique à l'intérieur d'une ligne et si cela change la valeur de la phrase. Dans l'exemple ci-dessous, je vous montre le code de la virgule. Problème est que j'ai besoin de cette déclaration pour ne postuler qu'une seule fois par ligne et que je me fâche en essayant de le mettre en œuvre.
C'est le code P>
Let me see your hard work Come on, work harder
4 Réponses :
re.sub code> a un paramètre de comptage qui vous permet de spécifier un nombre maximum de substitutions. Essayez re.sub (',', '\ n', ligne, compte = 1) code>. P>
Je n'ai pas testé cela, mais si vous ajoutez une déclaration de pause après avoir substitué la nouvelle ligne de la virgule, il doit quitter la boucle après avoir fractionné le texte une seule fois.
if n >= 30 and ', ' in line and line.find(', ') >= 20:
line = re.sub(', ', '\n', line)
break
J'ai essayé de casser la pause mais j'ai d'autres personnes si des déclarations après celui-ci, ce n'était donc pas une option. Steele Farnsworth a fourni la réponse correcte Tho :)
Ceci éclate la ligne de division de la ligne dans sa propre fonction de clarté, renvoyant une liste de lignes. Avec la liste, vous pouvez ré-ajouter les pauses de ligne comme vous le souhaitez.
phrase = "Let me see your hard work, come on, work harder"
MAX_LINE_LENGTH = 30
SPLIT_CHARS = ', '
SPLIT_CHARS_LENGTH = 19
def split_line(line) -> list:
result = [line]
if len(line) > MAX_LINE_LENGTH and SPLIT_CHARS in phrase[SPLIT_CHARS_LENGTH:]:
split_index = SPLIT_CHARS_LENGTH + phrase[19:].find(SPLIT_CHARS)
initial = line[:split_index]
remaining = line[split_index + len(SPLIT_CHARS):].capitalize()
result = [initial, remaining]
return result
for line in testo.splitlines():
parts = split_line(line)
new_lines = "\n".join(parts)
Vous pouvez faire quelque chose comme ceci:
finished = False
if condition and not finished:
do_something()
finished = True
Changer ce second
si code> surelif code> de sorte qu'il est ignoré si le premier si réussit.Avez-vous essayé de garder un drapeau, qui serait faux initialement. Après d'abord, si vous le rendez vrai et une fois qu'il est vrai, il n'est pas nécessaire d'exécuter la première instruction si elle est vraie.