Archives de catégorie : Non classé
6-La boucle for
Il existe un autre type de boucle en Python : la boucle for
La structure de la boucle for est la suivante :
for i in range(a,b):
instruction1
instruction2
suite programme
Nous aurons ici une boucle où la variable i prendra toutes les valeurs entières comprises entre a et b (a inclus et b exclu).
À faire vous-même 1
Soit le programme suivant :
for i in range(0,10):
print("i vaut :",end='')
print(i)
print("C'est terminé.")
Quel est le résultat attendu après l’exécution de ce programme ? Vérifiez votre réponse à l’aide de IDLE ou de Python fiddle.
À faire vous-même 2
Écrire un programme permettant d’afficher une table de multiplication. L’utilisateur entre la table qu’il désire (de 1 à 9), le programme permet alors d’afficher la table demandée.
Par exemple si l’utilisateur demande la table des 3, le programme devra afficher :
1 x 3 = 3
2 x 3 = 6
…
…
10 x 3 = 30
À faire vous-même 3
La boucle for permet de faire des itérations sur un élément, comme une chaine de caractères par exemple ou une liste .
v = "Bonjour toi"
for lettre in v:
print(lettre)
Les boucles « for » et « while » sont interchangeables dans un programme, cependant la boucle « while » est souvent utilisée quand le programmeur ne connait pas à l’avance le nombre de « tours » que devra effectuer la boucle (par exemple dans le cas du « générateur automatique de punition » vu dans le « À faire vous-même 8.2 »). La boucle « for » est souvent préférée dans les cas où le programmeur connait à l’avance le nombre de « tours » que devra effectuer la boucle (par exemple dans le programme vu dans les « À faire vous-même » 8.3 et 9.2).
Exercice 6 – Bases de Python
Moustiques
Depuis le début de l’année 2017, deux scientifiques Marc et Alice étudient l’évolution d’une population de moustiques sur l’île Chépaou. Ils ont réussi à obtenir l’estimation suivante sur l’évolution de la population : si la population contient x moustiques au cours d’une année, alors il y a aura 1.09x − 200 moustiques l’année suivante. Par contre, ils ne sont pour l’instant pas d’accord sur l’estimation de la population en 2017 : ils s’accordent seulement sur le fait que ce nombre est compris entre 8 000 et 12 000. Il faudra donc considérer cette donnée comme une variable.
- Écrire une fonction f qui prend en argument le nombre x de moustiques à une certaine année et qui renvoie le nombre de moustiques l’année suivante. La valeur de retour de f doit arrondir la réponse à l’entier inférieur. Comme les valeurs obtenues seront toujours positives, vous pouvez utiliser au choix int(..) ou la fonction floor(…) du module math. Exemple: int(4.5) vaut 4 et math.floor(6.75) vaut 6.
- Écrire une fonction nb_moustiques qui prend en arguments nb_debut, le nombre estimé de moustiques en 2017, et un entier annee_voulue. La fonction doit renvoyer le nombre de moustiques qu’il y aura en annee_voulue.
- Écrire une fonction annee_atteindra qui prend en argument un entier seuil et un entier nb_debut (qui correspondra au nombre de moustiques en 2017) et qui renvoie l’année à partir de laquelle le nombre de moustiques sera supérieur ou égal à seuil.
- Question supplémentaire : Écrire un programme principal qui demande à Marc son estimation du nombre de moustiques, puis à Alice la sienne. Votre programme demandera ensuite une année et affichera le nombre de moustiques qu’il y aura cette année-là, selon l’estimation de Marc puis selon celle d’Alice. Enfin, votre programme demandera un seuil et affichera en quelle année on atteint ce seuil, en fonction de chacune des deux estimations.
Exercice tiré de caséine université de Grenoble – proposé par Aurélie Lagoutte
Exercice 5 – Bases de Python
Fonctions avec des chaines de caractères
Vous pouvez écrire les fonctions demandées dans l’ordre que vous voulez (et même en créer d’autres, si cela vous paraît utile).
- Écrire une fonction ajoute_prefixe qui prend en argument un mot et un préfixe et qui renvoie la chaîne de caractère obtenue en concaténant le préfixe suivi du mot. Par exemple, ajoute_prefixe(« mentir », « de ») vaut « dementir ».
- Écrire une fonction repete qui prend en argument un mot et un entier n et qui renvoie la chaîne de caractères obtenue en répétant le mot n fois à la suite (sans séparation). Par exemple, repete(« bla », 3) vaut « blablabla ».
- Écrire une fonction ajoute_longueur qui prend comme argument un mot et qui ajouter sa longueur au début et à la fin. Par exemple, ajoute_longueur(« toto ») vaut « 4toto4 ».
- Note: On rappelle que la longueur d’un mot est obtenue avec la fonction len, par exemple len(« toto ») vaut 4. De plus, pour convertir un entier ou flottant en chaînes de caractères, il faut utiliser le mot clé str(…). Par exemple, str(4) vaut « 4 ».
- Écrire une fonction que_des_nombres qui prend en argument un mot et qui renvoie la chaîne de caractères obtenue à partir du mot en remplaçant chaque lettre par sa position dans le mot. Par exemple, que_des_nombres(« toto ») vaut « 1234 », et que_des_nombres(« bonjour ») vaut « 1234567 ».
Exercice tiré de caséine université de Grenoble – proposé par Aurélie Lagoutte
Hameçonnage
Faux site, hameçonnage
Vidéo à regarder
Mise en place de l’environnement de développement
Téléchargement de l’article original
- Rendez-vous sur un site web d’information de référence ( L’Humanité, Le Figaro, Le Monde, Libération, l’équipe ou site de votre club, etc. ), et choisissez un article que vous allez falsifier.
- Enregistrez la page de l’article dans le dossier en faisant un clic droit sur la page et enregistrer sous dans votre répertoire
SNT/web
, en choisissantarticle.html
comme nom de fichier :Fichier > Enregistrer sous…
. Vous devez maintenant avoir deux éléments dans le répertoireSNT/web
: un fichierarticle.html
et un dossierarticle_fichiers
.
Configuration du logiciel
- Ouvrir le logiciel
Notepad++
, puis ouvrir le fichierarticle.html
que vous venez de télécharger (autre méthode : faire un clic droit sur votre fichierarticle.html
, puis choisirEdit with Notepad++
). - Séparez votre écran en deux, en mettant à gauche Firefox, à droite Notepad++ (ou inversement). Votre écran doit alors afficher quelque chose qui ressemble à la capture d’écran suivante.
Rechercher un article dans un journal ou site
article original
codes modifiés
Modification de la page
- Dans Notepad++, recherchez (en utilisant le menu
Recherche
) les mots ou titre de l’article que vous voulez changer . Modifiez-le (à votre guise1), puis enregistrez le fichier du type » essai.html « - Actualisez alors la page dans Firefox (bouton ⟳ ou touche F5).
- De même, effectuez les modifications suivantes :
- mettez vos noms comme auteurs de l’article ;
- modifiez le titre de l’onglet ;
- modifiez quelques mots du chapeau (le court résumé en début d’article).
- autres parties de la page, photos, avec humour … tant que cela reste acceptable dans un cadre scolaire…
- Appelez le professeur pour vérifier votre travail.
- Sur votre compte-rendu, faites une copie de la page originale , puis des codes modifiés dans notepad++, et de votre nouvelle page falsifiée.
Questions
- Peut-on faire croire que votre page est authentique ?.
- Quels types de balises HTML connues ont été modifiés ?
- Connaissez-vous des arnaques utilisant cette technique ?
- Établissez une liste des moyens pour s’assurer que l’on n’est pas en présence de ce type d’arnaque , lire fiche en fin d’article.
LES BONS RÉFLEXES SÉCURITÉ
CONNAISSEZ-VOUS
LE PHISHING ?
LE PHISHING est la contraction de mots anglais ‘fishing’ (pêche) et ‘phreaking’ (piratage de ligne téléphonique’). C’est généralement un courrier électronique qui vous incite par son caractère d’urgence à communiquer des données bancaires ou personnelles qui seront en réalité récupérées sur un site pirate. L’accroche peut aussi se faire par téléphone ou SMS. Dans ce cas, il consiste à vous faire appeler sur un numéro de téléphone ou envoyer un SMS. |
Fiche à lire
.
.
.
.
.
.
.
Pour aller plus loin
( à faire à la maison si vous avez terminé toute l’étude du thème WEB), il existe d’autres possibilités pour modifier un site
Modifier une page Web existante. Inspecter le code d’une page hébergée par un serveur
« Le Web permet aussi de diffuser toutes sortes d’informations dont ni la qualité, ni la pertinence, ni la véracité ne sont garanties »
Déplacer la barre de tâche rouge dans votre barre de tâche personnelle en la glissant dans vos préférés,
Voir démo : snt.citescolairealainborne.fr/xraygoggle.mp4
Après avoir installé le plug-in dans votre navigateur, il suffit de rechercher une page d’actualité récente ( bien choisir en fonction de vos centres d’intérêts), de cliquer sur le bouton X-Ray Goggle pour pouvoir modifier la page
outils : X-RAY Goggles Mozilla
Avant : site lycée Boissy d’Anglas
après :
Avec cet outil, nous ne pouvons pas enregistrer l’adresse de la nouvelle page.
Exercice 4 – Bases de Python
Lettre par lettre
Ecrire un programme qui commence par demander à l’utilisateur un nombre avec « Nombre max de lettres ? », puis qui demande répétitivement une lettre à l’utilisateur en affichant « Lettre : » jusqu’à ce que:
- soit le nombre max. de lettres soit atteint,
- soit l’utilisateur tape « stop » à la place de la lettre attendue.
Le programme doit finir en affichant le mot obtenu par la concaténation de toutes les lettres données par l’utilisateur.
Note: on ne demande pas de vérifier que l’utilisateur ne tape qu’une seule lettre à chaque fois.
Exemple 1
Nombre max de lettres ? 3
Lettre : a
Lettre : b
Lettre : c
abc
Exemple 2
Nombre max de lettres ? 4
Lettre : a
Lettre : b
Lettre : stop
ab
Exemple 3
Nombre max de lettres ? 0
Exemple 4
Nombre max de lettres ? 5
Lettre : stop
Exercice tiré de caséine université de Grenoble – proposé par Aurélie Lagoutte
Exercice 3 – Bases de Python
Factorielle
Ecrire un programme qui demande un entier positif n et qui calcule la factorielle de n. Si le nombre donné est strictement négatif, le programme doit afficher un message d’erreur et terminer. Pour les phrases à afficher, vous suivrez celles des exemples suivants.
Rappel: la factorielle de n est définie par: n! = 1 x 2 x 3 x …. x n
Exemple 1:
n=? -5
La factorielle n’est pas definie pour les nombres négatifs.
Exemple 2:
n=? : 5
La factorielle de 5 vaut 120 .
Exemple 3:
n=? 0
La factorielle de 0 vaut 1 .
Exercice tiré de caséine université de Grenoble – proposé par Aurélie Lagoutte et Amir Charif
Exercice 2 – Bases de Python
Les comptes de Guillaume et Marion
Guillaume et Marion veulent un petit programme pour gérer leurs comptes bancaires. Ils ont chacun un compte, et veulent recevoir différents messages selon l’état de leur compte et celui de leur conjoint: les deux positifs, ou bien les deux négatifs, ou bien l’un positif et l’autre négatif avec un transfert possible pour rétablir la situation, ou bien l’un positif et l’autre négatif sans transfert possible pour rétablir la situation.
Exemples d’execution :
Exemple 1:
Lancement de la gestion des comptes? *l’utilisateur entre non*
OK. A bientot.
Exemple 2:
Lancement de la gestion des comptes? *l’utilisateur entre oui*
Solde du compte de Guillaume? *l’utilisateur entre 150.5*
Solde du compte de Marion? *l’utilisateur entre 340.12*
Tous les deux en positif!
Exemple 3:
Lancement de la gestion des comptes? *l’utilisateur entre oui*
Solde du compte de Guillaume? *l’utilisateur entre -112*
Solde du compte de Marion? *l’utilisateur entre -240.4*
Tous les deux en négatif!
Impossible de rétablir la situation.
Exemple 4:
Lancement de la gestion des comptes? *l’utilisateur entre oui*
Solde du compte de Guillaume? *l’utilisateur entre 350.87*
Solde du compte de Marion? *l’utilisateur entre -240*
Marion est en négatif.
Guillaume peut lui transférer 240 euros (il lui restera 110.87 euros).
Exemple 5:
Lancement de la gestion des comptes? *l’utilisateur entre oui*
Solde du compte de Guillaume? *l’utilisateur entre -270*
Solde du compte de Marion? *l’utilisateur entre 250*
Guillaume est en négatif.
Impossible de rétablir la situation.
/!\ Lorsque que l’on vous demande d’afficher une phrase à l’écran, vous devez suivre celle de l’exemple à la lettre (seuls les différences de ponctuation, d’espaces, de majuscules, et de certains accents sont tolérées).
Exercice tiré de caséine université de Grenoble – proposé par Aurélie Lagoutte
Exercice 1 – Bases de Python
Ecrire un programme qui:
- demande à l’utilisateur « Combien de « la » pour l’écho ? »
- Affiche « Début: « la » »
- Affiche l’écho, c’est-à-dire « la » autant de fois que choisi par l’utilisateur
Rappel: pour poser une question utiliser la fonction: input.
a=input("question ?") # pose la question et stocke la réponse dans la variable, qui est une chaine de caractere (str).
a=int(a) # transforme la chaine de caractere en entier (int)
Exemple 1:
Combien de « la » pour l’écho? *l’utilisateur entre 3*
Début: « la »
lalala
Exemple 2:
« Combien de « la » pour l’écho? » *l’utilisateur entre 5*
Début: « la »
lalalalala
/!\ Lorsque que l’on vous demande d’afficher une phrase à l’écran, vous devez suivre celle de l’exemple à la lettre (seuls les différences de d’espaces, de majuscules et d’accents sont tolérées). Dans cet exercice, une attention toute particulière est apportée à l’utilisation des guillemets: ne les oubliez pas!
Exercice tiré de caséine université de Grenoble – proposé par Aurélie Lagoutte
4- La boucle while
La boucle while
La notion de boucle est fondamentale en informatique. Une boucle permet d’exécuter plusieurs fois des instructions qui ne sont présentes qu’une seule fois dans le code.
La structure de la boucle while est la suivante :
while expression:
instruction1
instruction2
suite programme
Tant que l’expression s’évalue à « True », les instructions à l’intérieur du bloc (partie indentée) seront exécutées.
À faire vous-même 25
Soit le programme suivant :
i = 0
while i < 10:
print(f"i vaut : {i}")
i = i + 1
print("C'est terminé.")
Quel est le résultat attendu après l’exécution de ce programme ? Vérifiez votre réponse en testant le programme
À faire vous-même 26
Écrire une fonction qui prendra 2 paramètres : une chaîne de caractère et un nombre entier
permettant de créer « un générateur automatique de punition » :
Par exemple :
Si on passe comme paramètres à notre fonction : « Je ne dois pas discuter en classe » et 3
La fonction devra permettre d’afficher :
Je ne dois pas discuter en classe
Je ne dois pas discuter en classe
Je ne dois pas discuter en classe
À faire vous-même 27
Écrire une fonction permettant d’afficher une table de multiplication. Cette fonction devra prendre en paramètre la table désirée.
Par exemple si l’on passe le paramètre 3 à la fonction, la fonction devra permettre d’afficher :
1 x 3 = 3
2 x 3 = 6
…
…
10 x 3 = 30