Correction des exercices - Informatique commune en CPGE MPSI

ÉLEMENTS DE CORRECTION
ENV - IDLE Python ET FONDEMENTS DE LA SYNTAXE
ENV - IDLE Python ET FONDEMENTS DE LA SYNTAXE
Les corrections des exercices données ci-après ne sont que des indications pour aboutir à la solution, qui détaillent la plupart du temps un cheminement à suivre. D’autres solutions
sont possibles.. .
ÉLÉMENTS DE CORRECTION DE LEXERCICE NO1
Code Python
1a=int(input("Nombre"))
2if a==0:
3print(a)
4else:
5print(a+1) # Ici! le print est au même niveau que le else
6# alors qu’il devrait être indenté vers la droite d’au moins un espace
Code Python
1a=int(input("Nombre"))
2if a==0:
3print(a)
4else:
5print(a+1)
6print("bonjour") # On pourrait croire qu’il y a un problème d’indentation, puisque
7# les deux blocs d’instructions contenus dans le if et dans le else ne sont
8# pas au même niveau.
9# Mais ce qui est important c’est qu’ils soient indentés chacun p/r
10 # aux instructions if et else.
Code Python
1a=#
2while a<=100:
3print(a)
4if a % 2==0:
5print("pair")
6else:
7print("impair")
8print(a**2) # Ici! le print est n’est pas au même niveau que l’instruction
9# précédente dans l’instruction else.
10 # Il devrait être soit au même niveau que l’instruction précédente,
11 # soit au même niveau que le else de sorte qu’il
12 # n’est plus dans ce bloc d’instructions mais dans
13 # le corps de la boucle while, ou encore
14 # au niveau du while
15 print("fini") # Ici! le print est au même niveau que le bloc d’instructions précédentes
16 # ou suivantes...
Code Python
1a=int(input("Nombre: "))
2if a>0:
3print(a)
4else:
5print(a-1)
6print("Bonjour")
7
8# Aucun problème d’indentation ici
Code Python
1a=int(input("Nombre: "))
2if a>0:
3print(a)
4for i in range(0,a):
5if i % 2:
6print(i)
7else: # Ici! L’instruction else n’est pas au même niveau que l’instruction if
8print(a-i)
9print(i % 2) # Ici! L’instruction print n’est pas au même niveau que l’instruction
10 # précédente en encore moins du if
11 # Par contre, on peut la ramener au niveau du for, mais pas
12 # du premier if puisqu’elle est suivi d’une instruction else.
13 else:
14 print(a-1)
ÉLÉMENTS DE CORRE CTION DE LEXERCICE NO2
Pour le code :
Code Python
1a=int(input("Nombre: "))
2if a>0:
3print(a)
4else:
5print(a-1)
6print("Bonjour")
lorsque l’on saisit la valeur -2, le bloc d’instructions exécuté
sera celui contenu dans linstruction else et affichera succes-
sivement la valeur de a-1 , c’est à dire ici 3et le message
Bonjour .
En cas de saisie de la valeur 2 pour a, le bloc d’instruction
exécuté en premier sera celui contenu dans l’instruction if et
affichera la valeur 2uniquement et le programme ne fera rien de
plus.
Pour le code :
Code Python
1a=int(input("Nombre: "))
2if a>0:
3print(a)
4else:
5print(a-1)
6print("Bonjour")
lorsque l’on saisit la valeur -2, le bloc d’instructions exécuté
sera celui contenu dans l’instruction else et affichera simple-
ment la valeur de a-1 , c’est à dire ici 3, puis ce bloc d’ins-
tructions étant terminé, reviendra au niveau précédent des ins-
tructions où il affichera le message Bonjour .
En cas de saisie de la valeur 2 pour a, le bloc d’instruction
exécuté en premier sera celui contenu dans l’instruction if et
affichera la valeur 2, et passera au bloc d’instruction du même
niveau qui le suit, c’est à dire l’affichage du message Bonjour .
ÉLÉMENTS DE CORRE CTION DE LEXERCICE NO3
Code Python
1a=1
2while a=1: # Il y aura ici une erreur de syntaxe puisque le test d’égalité en Python
3print("toto") # s’écrit avec le "==", le "=" étant réservé à l’affectation des variables.
Code Python
1a=1
2while a==1:
3print("toto’) # Problème de cote puisque la quote ouvrante n’est pas
4# la quote fermant.e Il y aura donc un EOL comme message d’erreur
Code Python
1a=0
2while a!=1:
3print("toto")
4if a>10:
5print("stop")
6else:
7print(’continue") # Problème de quote ouvrante/fermante
8a=a+1
9print(a) # Le classique problème d’indentation
10 print("fini")
INFORMATIQUE - CPGE MPSI - 2016/17 1 ÉLÉMENTS DE CORRECTION CHAPITRE ENV
ÉLÉMENTS DE CORRE CTION DE LEXERCICE NO4
Console Python
1>>> ma_variable=12
2>>> print(ma variable)
3SyntaxError: invalid syntax
Console Python
1>>> x=input("Nombre":)
2SyntaxError: invalid syntax
3>>> x+12
4Traceback (most recent call last):
5File "<pyshell#3>", line 1, in <module>
6x+12
7NameError: name ’x’ is not defined
Console Python
1>>> x=input("Nombre:")
2Nombre:45
3>>> x+12
4Traceback (most recent call last):
5File "<pyshell#5>", line 1, in <module>
6x+12
7TypeError: Can’t convert ’int’ object to str implicitly
Console Python
1>>> mylist=[2,3,4,-1]
2>>> mylist[4]
3Traceback (most recent call last):
4File "<pyshell#7>", line 1, in <module>
5mylist[4]
6IndexError: list index out of range
Console Python
1>>> a=10
2>>> while a>-10:
3print(1/a)
4a=a-1
5
6
70.1
80.1111111111111111
90.125
10 0.14285714285714285
11 0.16666666666666666
12 0.2
13 0.25
14 0.3333333333333333
15 0.5
16 1.0
17 Traceback (most recent call last):
18 File "<pyshell#12>", line 2, in <module>
19 print(1/a)
20 ZeroDivisionError: division by zero
Console Python
1>>> a=10
2>>> while a<100:
3print(a+b)
4
5
6Traceback (most recent call last):
7File "<pyshell#16>", line 2, in <module>
8print(a+b)
9NameError: name ’b’ is not defined
Console Python
1>>> a=10
2>>> b=’2’
3>>> while a<100:
4print(a+b)
5
6
7Traceback (most recent call last):
8File "<pyshell#21>", line 2, in <module>
9print(a+b)
10 TypeError: unsupported operand type(s) for +: ’int’ and ’str’
INFORMATIQUE - CPGE MPSI - 2016/17 2 ÉLÉMENTS DE CORRECTION CHAPITRE ENV
1 / 2 100%

Correction des exercices - Informatique commune en CPGE MPSI

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !