Ecrire un programme en Python qui demande de saisir une chaîne de caractères et d’afficher le nombre de voyelles dans cette chaîne de caractères.
Résolution de l'exercice "Nombre de voyelles".
# -*- coding: utf-8 -*-
def voyelles(mot):
"""
Fonction, de paramètre une chaîne de caractères, qui
renvoie le nombre de voyelles dans cette chaîne de caractères.
"""
voyelles = "aeiouyAEIOUY"
nombre = 0
for lettre in mot :
if lettre in voyelles:
nombre = nombre + 1
print("Le nombre de voyelles dans \"{}\" est {}".format(mot, nombre))
#Programme principal
voyelles("python")
Modifier cette fonction pour qu'elle affiche le nombre de consonnes dans une chaîne de caractères.
Résolution de l'exercice "Nombre de consonnes".
# -*- coding: utf-8 -*-
def voyelles(mot):
"""
Fonction, de paramètre une chaîne de caractères, qui
renvoie le nombre de voyelles dans cette chaîne de caractères.
"""
voyelles = "aeiouyAEIOUY"
nombre = 0
for lettre in mot :
if lettre not in voyelles:
nombre = nombre + 1
print("Le nombre de consonnes dans \"{}\" est {}".format(mot, nombre))
#Programme principal
voyelles("python")
Présence d'un caractère dans un mot.
On considère le jeu suivant : Le joueur 1 note sur sa feuille un mot (une phrase) et le second note une lettre (un mot) sur
sa feuille. Puis, on compte le nombre d'apparitions de la lettre (du mot) qui correspond au nombre de points gagnés par le second joueur.
Ensuite, on inverse les rôles.
L'objectif de cet exercice est d'écrire une fonction qui fait les tâches suivantes :
Le joueur 1 propose un mot.
Le joueur 2 propose une lettre.
L’ordinateur indique alors si cette lettre est présente ou non dans le mot et précise combien de fois elle apparaît.
Ecrire une fonction, de paramètres une chaîne de caractères et un caractère, qui renvoie le nombre d'apparitions
du caractère dans la chaîne de caractères.
Résolution de l'exercice "Présence d'un caractère dans un mots".
# -*- coding: utf-8 -*-
def jeuMot(mot,lettre):
"""
Fonction, de paramètres une chaîne de caractères
et un caractère, qui renvoie le nombre d'apparitions
du caractère dans la chaîne de caractères.
"""
n=0
for c in mot :
if c == lettre:
n = n + 1
if n == 0:
return "la lettre {} n'apparaît pas dans la chaîne \"{}\"".format(lettre,mot)
else :
return "la lettre \"{}\" apparaît {} fois dans la chaîne \"{}\"".format(lettre,n,mot)
Une autre solution
# -*- coding: utf-8 -*-
def jeuMot(mot,lettre):
"""
Fonction, de paramètres une chaîne de caractères
et un caractère, qui renvoie le nombre d'apparitions
du caractère dans la chaîne de caractères.
"""
n = mot.count(lettre)
if n == 0:
return "la lettre {} n'apparaît pas dans la chaîne \"{}\"".format(lettre,mot)
else :
return "la lettre \"{}\" apparaît {} fois dans la chaîne \"{}\"".format(lettre,n,mot)
Mélanger les caractères d'un mot.
Ecrire une fonction, de paramètre une chaîne de caractères, qui mélange les caractères de la chaîne et
renvoie la chaîne constituée par les caractères mélangés.
Résolution de l'exercice "melanger les caractères d'un mot".
# -*- coding: utf-8 -*-
from random import *
def melange(mot):
"""
Fonction, de paramètres une chaîne de caractères, qui
mélange les caractères de la chaîne et renvoie la chaîne
constituée par les caractères mélangés.
"""
melange = mot
for i in range(len(mot)):
m = randint(0,len(mot)-1)
n = randint(0,len(mot)-1)
nouveau = ""
for j in range(len(melange)):
if j == m:
nouveau = nouveau + melange[n]
elif j == n:
nouveau = nouveau + melange[m]
else :
nouveau = nouveau + melange[j]
melange = nouveau
return "Voici la chaîne de caractères mélangée : {}".format(melange)
On considère le jeu suivant : le joueur1 entre un mot, l’ordinateur mélange les lettres,
affiche le mot constitué par les lettres mélangées. Le joueur2 doit alors retrouver le mot initial ou un mot qui a un sens.
Ecrire une fonction qui réalise le jeu.
Résolution de l'exercice "Retrouver le mot initial".
# -*- coding: utf-8 -*-
from random import *
def JeuMelange(mot):
"""
Fonction, de paramètres une chaîne de caractères, qui
mélange les caractères de la chaîne et renvoie la chaîne
de caractères mélangée.
"""
melange = mot
for i in range(len(mot)):
m = randint(0,len(mot)-1)
n = randint(0,len(mot)-1)
nouveau = ""
for j in range(len(melange)):
if j == m:
nouveau = nouveau + melange[n]
elif j == n:
nouveau = nouveau + melange[m]
else :
nouveau = nouveau + melange[j]
melange = nouveau
print("Voici la chaîne de caractères mélangée : {}".format(melange))
prop = "&&&"
while prop != "":
prop = input("joueur 2 : Entrez une proposition :")
if prop == mot :
print("Bravo, vous avez trouvé le mot ")
prop = ""
else :
print("Non, vous n'avez pas trouvé le mot exact ")
Scrabble.
Le Scrabble est un jeu de société dont l’objectif est de cumuler des points :
On place dans une chaîne 7 lettres correspondant au tirage du jeu d’un joueur de scrabble.
1 point
EAINORSTUL
2 points
DMG
3 points
BCP
4 points
FHV
8 points
JQ
10 points
KWXYZ
Remarque
Pas de répétition de lettres, c’est-à-dire, si on appelle jeu les 7 lettres du joueur et mot le mot
que l’on veut écrire avec ces lettres, il faut que pour chaque caractère du mot, le nombre d’apparitions
soit supérieur ou égal au nombre d’apparitions de ce même caractère dans le jeu.
Réaliser une fonction qui demande au joueur un mot et lui renvoie s’il peut en effet le former avec ses 7 lettres choisies au hasard.
Résolution de l'exercice "Mot de sept lettres".
# -*- coding: utf-8 -*-
from random import *
def scrable() :
"""
Cette fonction consiste à placer dans une chaîne 7 lettres correspondant
au tirage du jeu d'un joueur de scrable, demander au joueur le mot et
vérifier s'il peut le former avec toutes ou une partie des 7 lettres et
de compter le nombre de points que rapporte un mot au scrabble.
"""
alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
jeu=''
for i in range(7):
k = randint(0,25)
jeu=jeu+alphabet[k]
mot = input("Entrez un mot que vous voulez \
érire avec les lettres {} : ".format(jeu)).upper()
possible = True
for lettre in mot:
if jeu.count(lettre) < mot.count(lettre):
possible = False
if possible:
return "On peut écrire {} avec {}".format(mot, jeu)
else :
"On ne peut pas écrire {} avec {}".format(mot, jeu)
#Programme principal
scrable()
Réaliser une fonction qui renvoie le nombre de points que rapporte un mot au scrabble.
Résolution de l'exercice "Le nombre de points".
# -*- coding: utf-8 -*-
from random import *
def scrableP() :
"""
Cette fonction consiste à placer dans une chaîne 7 lettres correspondant
au tirage du jeu d'un joueur de scrable, demander au joueur le mot et
vérifier s'il peut le former avec toutes ou une partie des 7 lettres et
de compter le nombre de points que rapporte un mot au scrabble.
"""
alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
jeu=''
for i in range(7):
k = randint(0,25)
jeu=jeu+alphabet[k]
mot = input("Entrez un mot que vous voulez \
érire avec les lettres {} : ".format(jeu)).upper()
possible = True
for lettre in mot:
if jeu.count(lettre) < mot.count(lettre):
possible = False
if possible:
print("On peut écrire ", mot, "avec ", jeu)
points = 0
for lettre in mot :
if lettre in 'EAINORSTUL':
points = points + 1
if lettre in 'DMG':
points = points + 2
if lettre in 'BCP':
points = points + 3
if lettre in 'FHV':
points = points + 4
if lettre in 'JQ':
points = points + 8
if lettre in 'KWXYZ':
points = points + 10
print("le mot ", mot, "rapporte ", points, "points.")
else :
print("On ne peut pas écrire ", mot, "avec ", jeu)
#Programme principal
scrableP()