Bonjour à tous,
Je cale sur un exercice à faire en cours de programmation ( 1er année bachelier en Belgique ).
Je ne comprend pas encore trop bien les boucles, du coup je suis parti sur autre chose.
Si quelqu'un peut me conseiller je suis preneur, merci.
L’intitulé de l’exercice est le suivant:
Écrire un programme qui renvoie une erreur si une phrase encodée par l'utilisateur ne vérifie pas les règles élémentaires de typographies.
Règles :
- La phrase commence par une majuscule
- La phrase se termine par un point
- Les mots sont séparés par un et un seul espace excepté en cas de symbole de ponctuation ( dans ce cas, on respecte les règles suivantes ):
- La virgule et le point sont collés au mot qui les précède et sont suivi par un espace.
- Le point-virgule, les deux points et le point d'interrogation sont entourés d'un espace.
Où en suis-je dans mon exercice ?
Tout fonctionne. Sauf l'espace après le point..
si par ex la phrase est :
Qu'est ce qu'il fait froid aujourd’hui.J'espère que demain ça ira mieux.
Je n'arrive pas lui faire comprendre que c'est le point en milieu de phrase qui doit avoir un espace, et le non le point en fin de phrase.
Car sinon je suis obligé de mettre un espace quand je termine ma phrase, et du coup c'est pas vraiment correcte..
Après si on doit juste entrer une phrase, je ne vois pas trop l’intérêt de dire qu'il faille un point après. Ça voudrait dire qu'on est sensé pourvoir écrire
deux phrases l'une à la suite de l'autre non ?
J'espère que j'arrive à me faire comprendre..
Voici mon code:
Avez-vous une solution sans utiliser de boucle ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 """ Programme qui renvoie une erreur si une phrase encodée par l'utilisateur ne vérifie pas les règles élémentaires de typographie. """ # variables caractères qui seront vérifiées # virgule = ',' point_virgule = ';' deux_points = ':' point_dint = '?' erreur = 0 # variable compteur phrase = str(input("\nVeuillez entrer une phrase :\n")) print() # majuscule et point en fin de phrase # if phrase[0] != phrase[0].upper(): erreur += 1 if phrase.endswith(".") is False: erreur += 1 if phrase.endswith(" ."): erreur += 1 # vérifie les espaces # if ' ' in phrase: erreur += 1 # verifie si des variables caractères sont présentes dans la phrase # if virgule in phrase: # si c'est le cas, virgule = ', ' # la virgule devient une virgule correcte. if virgule not in phrase: # si cette même virgule n'est pas dans la phrase, erreur += 1 # erreur +1 virgule = ' ,' # la virgule devient une virgule incorrecte. if virgule in phrase: # si cette même virgule est dans la phrase, erreur += 1 # erreur +1 if point_virgule in phrase: # même principe pour les autres. point_virgule = ' ; ' if point_virgule not in phrase: erreur += 1 if deux_points in phrase: deux_points = ' : ' if deux_points not in phrase: erreur += 1 if point_dint in phrase: point_dint = ' ? ' if point_dint not in phrase: erreur += 1 # afficher si on a des erreurs ou pas # if erreur == 0: print("Aucune faute en vue") else: print("ERREUR : Votre phrase n'est pas correcte !")
D'avance merci, bonne journée à tous![]()
Partager