Outils pour utilisateurs

Outils du site


2gy_2021:2gy06:s35_intro

Ceci est une ancienne révision du document !


Révision

Python Exemples

Print

print "(2+2)*3=12"

Programmation modulaire

from gturtle import *

def triangle50():
    forward(50)
    right(120)
    forward(50)
    right(120)
    forward(50)

makeTurtle()
triangle50()
left(45)
triangle50()

Ici on peut appeler triangle50() aussi une fonction ou une méthode.

Boucles, input et paramètres

Polygone

from gturtle import *

def polygone (n, cote):
    repeat n:
        forward(cote)
        right(360 / n)
        
def dessine_polygone():
    nb_cotes = input("Nombre de côtés : ")
    perimetre = input("Mesure du périmètre : ")
    polygone(nb_cotes, perimetre / nb_cotes)

makeTurtle()
hideTurtle()
dessine_polygone()
dessine_polygone()
  

Boucles while

while <codition>:
    <consigne>

Le consigne est répétée tant que la condition est remplie.

from gturtle import *

def spirale(cote):
    repeat 50:
        forward(cote)
        left(90)
        cote=cote+5

makeTurtle()
hideTurtle()
spirale(5)

Branchements / Instructions conditionnelles

Instructions avec if

if <condition>:
    <instruction>
prenom = input("Prénom?")
if prenom =="Lisa":
    print "Bonjour Lisa!"
    print "Quel plaisir de vous revoir"
if prenom == "Gaston":
    print "Bonjour Gaston"
    print "Quelle plaisir de vous retrouver"

Instructions if else

if <condition>:
    <instruction 1>
else :
    <instruction 2>
a = 35
b = 33
if b > a:
    print("b is greater than a")
else:
    print("b is less than or equal to a")  
def minmax (a, b, c):
    if a>b:
        minimum = a
        maximum = b 
    else:
        minimum = b
        maximum = a
    if c < minimum:
        minimum = c
    if c>maximum:
        maximum = c   
    print (minimum, maximum)
    
minmax(5,3,17)

Instructions if elif ... else

if <condition 1>:
    <instruction 1>
elif <condition 2>:
    <instruction 2>
else :
    <instruction 3>
a = 35
b = 33
if b > a:
    print("b is greater than a")
elif a == b:
    print("a and b are equal")
else:
    print("b is less than a")  

Exercices de révision

Exercice R1

Développez un programme “d’identification” qui permet à un utilisateur de se “loguer sur l’ordinateur”. Les logins valables sur l’ordinateur sont les suivants, mentionnés avec le mot de passe correspondant :

  TartempionJ (mot de passe: 8ahH8$8AHZ)
  DoeJ (mot de passe: Rikiki1_0)

Lorsque l’utilisateur DoeJ se connecte avec succès, le système de login doit afficher la phrase “Welcome back, John!”. Lorsque c’est TartempionJ qui se connecte, le système doit lui répondre “Bonjour Monsieur Tartempion, comment allez-vous aujourd'hui?”.

Tous les autres utilisateurs doivent recevoir le message “Accès refusé”. Si l’utilisateur saisit l’un des comptes utilisateur existants mais se trompe de mot de passe, il doit également recevoir le même message.

Commencez par dessiner dans votre cahier l’ordinogramme de ce programme. Complétez ensuite le programme ci-dessous directement dans l’éditeur:

Réflexion sécurité informatique

Dans ce programme, on stocke les mots de passe des utilisateurs “en clair”. Quel danger potentiel de sécurité cela peut-il poser? Comment pourrait-on résoudre ce problème?

username = input("Login: ")

if username == "DoeJ":
    print("Welcome back, John!")

print("Accès refusé")

Exercice R2

Développez une commande est_bissextile(annee) qui prend en paramètre un nombre entier annee en guise d’une année de notre calendrier (par exemple 2020) et qui détermine si cette année est bissextile en affichant oui si elle est bissextile et non si ce n’est pas le cas. Voici un algorithme permettant de déterminer si une année est bissextile ou non :

Algorithme année bissextile

Soit A une année Si A n’est pas divisible par 4, A n’est pas bissextile Si l’année A est divisible par 4, elle est bissextile, sauf si elle est divisible par 100 et pas par 400.

Consignes

Commencez par dessiner un ordinogramme de cet algorithme avec la présentée au cours. Implémentez l’algorithme en question en Python dans l’éditeur ci-dessous. Testez votre programme en appelant votre commande pour les années suivantes

  est_bissextile(2020)
  est_bissextile(2000)
  est_bissextile(1900)
  est_bissextile(1953)
  est_bissextile(1950)
  est_bissextile(1952)
  est_bissextile(1600)

S’il est correct, votre programme devrait afficher

  oui
  oui
  non
  non
  non
  oui
  oui
annee = input("Année :")

def est_bissextile(annee):
    # compléter le code ici

def test():
    est_bissextile(2020)
    est_bissextile(2000)
    est_bissextile(1900)
    est_bissextile(1953)
    est_bissextile(1950)
    est_bissextile(1952)
    est_bissextile(1600)

# test de la commande
# test()
2gy_2021/2gy06/s35_intro.1599028027.txt.gz · Dernière modification: 2020/09/02 06:27 par ilko