pythonSelfTest1
Je teste mes connaissances :
Les bases de Python (1)

Exercice 1

Écrire une fonction vol_cone_droit qui, à partir d'un rayon et d'une hauteur, vous retourne le volume d'un cône droit.

>>> Proposition de solution - Proposition de solution - Proposition de solution <<<
def vol_cone_droit(r,h):
    return 3.14*r*r*h

Autre solution :

import math

def vol_cone_droit(r,h):
    return math.pi*r*r*h

Exercice 2

Ecrire une fonction pair_impair(n) qui retourne PAIR si le nombre passé en paramètre est divisible par 2, IMPAIR sinon.

>>> Proposition de solution - Proposition de solution - Proposition de solution <<<
def pair_impair(n):
    if n%2==0:
        return "PAIR"
    else:
        return "IMPAIR"

Exercice 3

L'utilisateur donne un entier positif et le programme annonce combien de fois de suite cet entier est divisible par 2.

>>> Proposition de solution - Proposition de solution - Proposition de solution <<<
def nb_div_2(n):
    nb = 0
    while n%2==0:
        nb+=1
        n = n//2
    return nb
        
val=int(input("votre nombre ?"))
print("Ce nombre est divisible ",nb_div_2(val)," fois par 2") 

Exercice 4

Une séquence d'ADN valide signifie qu'elle n'est pas vide et est formée exclusivement d'une combinaison arbitraire de "a", "t", "g" ou "c".

Écrire une fonction valide qui renvoie vrai si la chaîne passée en paramètre est valide et faux sinon.

Exemple de chaîne valide : "attgcaatggtggtacatg"

>>> Proposition de solution - Proposition de solution - Proposition de solution <<<
def valide(str):
    for c in str:  # On parcourt les caractères de la chaînes.
        if c not in ('a', 't', 'g' ,'c'):  # On teste si 'a', 't', 'g' ou 'c'
            return False
    return True
        
print(valide("attgtaatggtggtacatg")) #True
print(valide("attgraatggtggtacatg")) #False

Contribution : Ne pas hésiter à proposer des énoncés d'exercices ... Avec corrections ;)