Exercice : 410 - exercices courts corrigés
Créer une fonction mult_ou_plus avec des arguments num1 et num2 qui retourne le produit de num1 par num2 si ce produit est < à 1000, la somme de num1 et num2 si le produits et >=1000Option : Améliorer l'affichage en indiquant l'opérateur qui à été retenu.
def mult_ou_plus(num1,num2):
# num1 et num2 sont les arguments de la fonction # votre code ci-dessous indenté par rapport à la déclarartion de la fonction defprint(num1,num2,res)
return res
n1=12
n2=5
res=mult_ou_plus(n1,n2)
n1=120
n2=12
res=mult_ou_plus(n1,n2)
Question
Corrigé de la fonction 410-1 : une fonction simple
Solution
def mult_ou_plus(num1,num2):
# num1 et num2 sont les arguments de la fonction # votre code ci-dessous indenté par rapport à la déclarartion de la fonction defif num1 > num2:
res = num1 * num2
else:res = num1 + num2
# fin de votre codeprint(num1,num2,res)
return res
n1=12
n2=5
res=mult_ou_plus(n1,n2)
n1=120
n2=12
res=mult_ou_plus(n1,n2)
Question
410-2 : listes
A partir d'une liste
*410-2a-> Afficher les éléments dont la valeur est divisibles par 5 (indice 1)
*410-2b -> Créer une liste numlistdiv5 constituées des éléments dont les valeurs sont divisibles par 5 (solution)
Pour ajouter des éléments dans une liste, chercher de l'aide sur les méthodes append et extend, bien comprendre la différence entre les deux méthodes.
numlist = [10,20,33,46,55]
print(numlist)
# votre code ci-dessousIndice
numlist = [10,20,33,46,55]
print(numlist)
# votre code ci-dessouselement=0
for element in numlist:
if element % 5 == 0:
print(element)
Solution
numlist = [10,20,33,46,55]
print(numlist)
# votre code ci-dessouselement=0
numlistdiv5=[]
for element in numlist:
if element % 5 == 0:
print(element)
numlistdiv5.append(element)
print(numlistdiv5)
Question
410-3
A partir d'une liste d'éléments d'une liste numList=[7,4,9,1,3,6]
Vérifier sir la liste est triée de manière croissante, retourner un True ou un false ?
Si oui, afficher la liste triée, sinon, trier la liste et la ré-afficher.
Pour vos tests, enlevez ou remettre le # pour tester votre code avec l'une ou l'autre des deux listes
#numList=[7,4,9,1,3,6]numList=[7,9,12,15,16,19]
Indice
On compare les éléments deux à deux, la liste est triée si le deuxième et plus grand que le premier
Indice
Pour parcourir les éléments d'une boucle en débutant par l'élément en position 2 dans la liste en initialisant la variable precedent avec le premier
numList=[7,4,9,1,3,6]
i=0
element = 0
precedent = numList[0]
for i in range(1,6):
print(i)
print(i,precedent,numList[i])
Indice
numList=[7,4,9,1,3,6]
i=0
element = 0
precedent = numList[0]
for i in range(1,6):
print(i)
print(i,precedent,numList[i])
precedent = numList[i]
print(i,precedent,numList[i])
Solution
#numList=[7,4,9,1,3,6]numList=[7,9,12,15,16,19]
i=0
precedent = numList[0]
tricroissant=True
for i in range(1,6):
if precedent > numList[i]:
tricroissant = False
print(i)
break else:precedent = numList[i]
print(tricroissant)
Question
410-4
Créer une fonction qui retourne True ou False et la tester avec les 2 listes
Solution
def listeTriee(nList):
i=0
precedent = nList[0]
tricroissant=True
for i in range(1,6):
if precedent > nList[i]:
tricroissant = False
print(i)
break else:precedent = nList[i]
return tricroissant
numList=[7,4,9,1,3,6]
print(listeTriee(numList))
numList=[7,9,12,15,16,19]
print(listeTriee(numList))
Question
410-6 : faire défiler les caractères de la chaîne machaine="python"
Solution
machaine="python"
s=""
for s in machaine:
print(s)
Question
410-7
A partir d'une chaîne machaine="python"
Afficher le contenu de variables debut2 et fin4 qui affichent respectivement les 2 premiers caractères de machaine et les 4 derniers.
Solution 1 : avec l'opérateur : de gestion des listes
Solution 2 : en utilisant une boucle
Solution
Solution 1
machaine="python"
debut2 = machaine[0:2]
print(debut2)
fin4= machaine[2:]
print(fin4)
Solution
Solution 2
machaine="python"
s=""
i=0
debut2=""
fin4=""
for s in machaine:
if i<2:
debut2=debut2+s
if i>=len(machaine)-4:
fin4 = fin4 +s
print(s)
i+=1
print (debut2)
print(fin4)
Question
410-8
maliste1 =[10,20,23,11,17]
maliste2 =[23,17,24,36,10]
Créer une liste nommée mafusion qui contient seulement les éléments triés et différents des 2 listes, donc mafusion affichera [10,11,17,20,23,24,36]
Trouver une solution 1 rapide avec une méthode python de l'objet liste
Faire avec une solution 2 et une boucle
Indice
solution 1 : méthode extend
Solution
avec la méthode extend
maliste1 =[10,20,23,11,17]
maliste2 =[23,17,24,36,10]
mafusion=maliste1
mafusion.extend(maliste2)
print(mafusion)
Solution
maliste1 =[10,20,23,11,17]
maliste2 =[23,17,24,36,10]
mafusion=maliste1
for element in maliste2:
maliste1.append(element)
print(mafusion)
Question
410-9
Afficher le résultat =ci-dessous :
1
22
333
4444
55555
Solution
s=""
for i in range(1,6):
s = str(i)
for j in range(1,i):
s = s + str(i)
print(s)