Valeurs par défaut d'un argument

Chaine renversée.

Écrire une fonction affiche() prenant un premier argument de type str (chaîne de caractères) et un second de type booléen.
Un appel tel que affiche('coucou') devra afficher coucou.
Un appel tel que affiche('coucou', False) devra afficher uocuoc (c'est à dire la chaîne à l'envers).


def affiche(ch, ordre = True) :
	if ordre :
		print(ch)
	else : 
		mot = ''
		for j in ch :
			mot = j + mot
		print(mot)
		
		
affiche('Zorglub')
affiche('Zorglub', False)  

Autre version


def affiche(ch, ordre = True) :
	if ordre :
		print(ch)
	else : 
		print(ch[::-1])
		
		
affiche('Zorglub')
affiche('Zorglub', False)  

Affichage :

 
Zorglub
bulgroZ

Cosinus .

Le module math définit quelques fonctions et constantes mathématiques.


from math import cos, pi
print(cos(pi/3))

A l'aide de cette fonction cos, définir une fonction cosinus.

cosinus(x) où x est un nombre retournera la valeur approchée donnée par cos(x) tandis que cosinus(x, 'deg') considérera que l'utilisateur a entré un angle en degrés...


from math import cos, pi


def cosinus(x, unite = 'rad') :
	"""
	cosinus(45,'deg') renvoie cos(45degré)
	cosinus(0.3) renvoie cos(0.3) (0.3 correspond donc à un angle en radians)
	"""
	pass
 
 
# exemples d'appels:
print(cosinus(pi/4))
print(cosinus( 45, 'deg'))
print(cosinus( 80, 'grad')) 


from math import cos, pi


def cosinus(x, unite = 'rad') :
	if unite == 'rad' :
		return cos(x)
	elif unite == 'deg' :
		return cos(x*pi/180)
	else :
		return "{} : unité de mesure non prise en compte.".format(unite)
 
print(cosinus(pi/4))
print(cosinus( 45, 'deg'))
print(cosinus( 80, 'grad')) 

Polygone

On reprend l'exemple du cours utilisant le module turtle.

Vous devez maintenant définir une fonction polygone traçant un polygone régulier à l'aide de ce module turtle.

Les paramètres seront ceux utilisés pour la fonction carre du cours, auxquels on ajoutera bien sûr un paramètre pour le nombre de côtés du polygone régulier à tracer.


from turtle import *


def polygone(nbcote = 3, cote = 40, sens = 'trigo', couleur = 'black', epaisseur = 1, depart = (0,0) ) :
    """
    corps de la fonction à définir
    """
    pass
   
   
 
 
# premier appel : 
polygone(cote = 30, couleur = 'red')
# second appel : 
polygone( depart = (0,-5), nbcote=6, sens = 'pendule', epaisseur =  5, couleur = 'green')

# instruction permettant de garder la fenêtre ouverte et
# de la fermer en cliquant sur cette fenêtre :
exitonclick() 

donnera :
deux polygones

Un code possible


from turtle import *


def polygone(nbcote = 3, cote = 40, sens = 'trigo', couleur = 'black', epaisseur = 1, depart = (0,0) ) :
    penup() # on lève le crayon pour ne pas tracer
    setposition(depart) # la tortue se place au point depart
    pencolor(couleur) # on fixe la couleur du crayon
    pensize(epaisseur) # on fixe l'épaisseur du crayon
     
    
    pendown() # on abaisse le crayon pour tracer
    for _ in range(nbcote) :
        forward(cote) # on avance de la longueur cote (l'unité est le pixel) dans l'orientation donnée par la tortue
        if sens == 'trigo' : left(360//nbcote)
        else : right(360//nbcote)  
    penup()
   
   
 
 
# premier appel : 
polygone(cote = 30, couleur = 'red')
# second appel : 
polygone( depart = (0,-5), nbcote=6, sens = 'pendule', epaisseur =  5, couleur = 'green')
 
#on cache la tortue à la fin du tracé :
hideturtle()
# instruction permettant de garder la fenêtre ouverte et
# de la fermer en cliquant sur cette fenêtre :
exitonclick()