👾 France-IOI (I-2)⚓︎
Le niveau 1 de France-IOI se poursuit avec Répétitions d'instructions
1) Punition⚓︎
Le problème est de :
Écrire \(135\) fois la phrase :
Je dois respecter le Grand Sorcier.
Indice 1
Compléter le code
...
... Je dois respecter le Grand Sorcier. ...
Indice 2
Pour afficher 5 fois Coucou
for i in range(5): # conseil 1 (1)
print("Coucou") # conseil 2 (2)
- Il ne faut pas oublier
:
à la fin - Il faut indenter cette ligne. 4 espaces idéalement.
2) Mathématiques de base⚓︎
Le problème est de :
Corriger les erreurs contenues dans le programme ci-dessous afin qu'il affiche \(13\) fois de suite le texte
9 * 8 = 72
for loop in range(13)
print("9 * 8 = 72)
Indices
Il y a trois erreurs, mais
- On peut remplacer
loop
par_
, ou partour
, ou pari
; ce n'est pas une erreur. - \(9×8\) est bien égal à \(72\) ; ce n'est pas une erreur.
3) Transport d'eau⚓︎
Le problème est de :
Bien suivre les indications demandées.
Compléter le code
from robot import *
gauche()
...
print("...")
for i in range...
...
...
Indices
- Bien relire ce qui est demandé.
- Ne rien faire de plus.
4) Le secret du Goma⚓︎
Le problème est de :
Ramasser et déposer des bouses.
Indices
Modifier et compléter le code
from robot import *
RÉPÉTER ??? FOIS
...
...
...
...
5) Sisyphe⚓︎
Le problème est de :
Monter et descendre \(21\) marches.
Indice
Modifier et compléter le code
from robot import *
# monter
RÉPÉTER ??? FOIS
...
...
# redescendre
RÉPÉTER ??? FOIS
...
...
6) Page d'écriture⚓︎
Le problème est de :
Écrire \(3\) lignes avec \(30\) lettres chacune sur le modèle
a_a_a_a_
b_b_b_b_
c_c_c_c_
Indice 1
Pour afficher a_
sans retour à la ligne on peut faire, au choix
print("a_", end="")
print("a", end="_")
print("", end="a_")
Pour sauter à la ligne, on peut faire, au choix
print("")
print()
Indice 2
Modifier et compléter le code
RÉPÉTER ??? FOIS
print("a", end="_")
SAUT DE LIGNE
...
...b...
...
...c...
Ne pas écrire
from robot import *
pour ce problème !
7) Jeu de dames⚓︎
Le problème est de :
Afficher un damier de taille \(40×40\).
Indices
- Commencer par afficher une ligne qui commence par
OX
- Continuer par afficher une ligne qui commence par
XO
Combien de caractères affichez-vous par ligne ? Êtes-vous sûr ?
Répéter ces deux étapes pour avoir les \(40\) lignes. Combien de répétitions ? Êtes-vous sûr ?
8) Mont Kailash⚓︎
Le problème est de :
Faire faire au robot \(108\) fois le tour de la montagne.
Indice
Compléter le code pour faire un tour
from robot import *
...faire un tour...
Ensuite, quand vous savez bien faire un tour :
- Sélectionner tout le code, sauf la première ligne.
- Appuyer sur la touche tabulation Tab
- Il est alors indenté !
- Modifier alors le code pour faire plusieurs tours de la montagne
from robot import *
RÉPÉTER ??? FOIS
...faire un tour...
9) Vendanges⚓︎
Le problème est de :
Ramasser du raisin pour le déposer à droite.
Indice 1
Comme pour le problème précédent, écrire un code pour faire l'action une fois. Cette action comporte deux boucles, chacune pour aller tout à droite, ou pour revenir.
Puis sélectionner tout ce code, et le décaler avec Tab pour l'insérer dans un bloc de répétition, pour 20 tours.
Indice 2
Modifier le code
from robot import *
RÉPÉTER ??? FOIS
ramasser...
...aller tout à droite...
deposer...
...revenir tout à gauche...
10) Le Grand Évènement⚓︎
Le problème est de :
Parcourir un carré \(10×10\) et revenir au départ.
Indices
- Commencer par préparer votre parcours sur papier.
- Étudier les étapes qui peuvent se répéter.
- Traduire votre idée en Python.