Skip to content

passionne/python_fun_mooc_at_kiabi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Découvrir python via Fun MOOC et quelques exercices

Exercice 1 - Fibonacci

Créer une fonction qui retourne n élements correspondant à la suite de fibonacci à partir de a et b :

fonction ( a, b, n ) retourne [n élement]

Exemple :

fonction (1, 2, 5) retourne [1, 2, 3, 5, 8]

Rappel :

n = n-1 + n-2

Exercice 2 - génération de fichier avec donnée aléatoire

Créer un fichier csv avec les colonnes : code article; libelle; prix; quantité

Rappel :

Le séparateur de colonne est le point virgule ";".

écrire dans un fichier :
#!/usr/bin/env python
# -*- coding: utf-8 -*-
f = open(filename, 'w')
f.write("code article;libelle;prix;quantité\n")
f.close()
généré de la donnée aléatoire :
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random

# nombre décimale aléatoire entre 0 et 1
random.random()

# nombre entier aléatoire entre 0 et 9
random.randint(0,9)

# caractère aléatoire parmis les lettres 'TFGLM'
random.choice('TFGLM')

Exercice 3 - trouvé l’élément unique

Le principe : à partir d’une liste d’entier dont la taille est un nombre impair d’élément. Tous les éléments sauf un sont en doubles. Écrire un algoritme qui permettent de trouvé l’élément unique.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

def found_unique(l):
    # TODO
    pass

assert found_unique([1,1,2,2,3,4,4,5,5]) == 3
assert found_unique([1,5,2,4,3,4,2,5,1]) == 3
assert found_unique([1,1,2,2,3,3,4,4,5]) == 5
assert found_unique([1,1,2,3,3,4,4,5,5]) == 2

Exercice 4 - speak i18n

En utilisant le dictionnaire "trad", implémenté la fonction sayHello pour dire

#!/usr/bin/env python
# -*- coding: utf-8 -*-

trad = {
    "FR": "Bonjour",
    "EN": "Hello",
    "ES": "Ola"
}

def sayHello(codePays, nom):
    pass

assert sayHello("FR", "jack") == "Bonjour jack!"
assert sayHello("EN", "alice") == "Hello alice!"
assert sayHello("ES", "bob") == "Ola bob!"

print("Done")

Exercice 5 - Oh toi mon itérable

Implémenté un itérateur qui ne donne que les entier pair jusque 10 inclus. Un second itérateur qui ne donne que les entier impaire jusque 11 inclus. Et un dernier itérateur qui retourne tous les entiers modulo n, avec n fourni, jusque 12 inclus.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

class Pair:
    max = 10
    cur = 0

    def __iter__(self):
        print("Pair max = {}".format(self.max))
        return self

    def next(self):
        raise StopIteration()


class Impair:
    max = 11

    def __iter__(self):
        return self

    def next(self):
        raise StopIteration()


class Multiple:
    max = 12
    m = 0

    def __init__(self, m):
        self.m = m

    def __iter__(self):
        return self

    def next(self):
        raise StopIteration()


if __name__ == "__main__" :
    assert [i for i in Pair()] == [2, 4, 6, 8, 10]
    assert [i for i in Impair()] == [1, 3, 5, 7, 9, 11]
    assert [i for i in Multiple(3)] == [3, 6, 9, 12]
    assert [i for i in Multiple(4)] == [4, 8, 12]

Exercice 6 - TODO later…​

Exercice 7 - Bingo !

Le but ici est d’utiliser les concepts de module et de class.

Nous allons créer un jeu de Bingo (simplifié) tel que : Nous avons plusieurs joueurs, chaque joueurs possède une carte. Au démarrage du jeu, toutes les cartes sont intialisé avec un nombre entre 0 et 10. Tous les nombres de la carte sont différents. A chaque tour, on génère un nombre entre 0 et 10, et chaque joueur vient le cas échéant remplir sa carte. Le premier joueur ayant rempli sa carte gagne et crie Bingo ! Ce qui arrête le jeu.

Note : pour rappel nous avons déjà utilisé un générateur de nombre aléatoire dans l’excercice 2.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages