Affectation des variables et impression des résultats

(code sous licence creative commun CC BY-NC-SA BY Alexis Dendiével)

Télécharger le pdf

Télécharger le notebook

Lancer le notebook sur binder (lent)

Les differents types de variables

Python est un langage objet, l’affectation du type de variable se fait par l’objet, il n’est donc pas nécessaire de déclarer le type d’une variable.

Il existe plusieurs types d’objets: - entier - flottant - chaine de caractère - booléen …

voyons par l’exemple l’affectation des variables:

[1]:
n = 1
type (n)
[1]:
int

La commande type renvoi le type de variable. Ici l’objet 1 étant un entier, la variable n prend le type de l’objet.

[2]:
n = "1"
type(n)
[2]:
str

l’objet « 1 » étant une chaîne de caractère, la variable n prend le type chaine de caractère (str)

[3]:
n = 1.13e-7
type (n)
[3]:
float

de même ici, 1.13e-7 est un flottant, la variable n prend le type flottant.

[4]:
n = (1, 2, 3, 5, 7, 11, 13, 17, 19)
type (n)
[4]:
tuple

En conclusion, en python, c’est l’objet qui détermine le type de la variable.

La fonction input

Présentation

Attention, l’utilisation de ``input`` est fortement déconseillée, il vaut mieux utiliser des fonctions, voir un peu après.

Quand on demande à l’utilisateur d’entrer une grandeur, on utilise la commande input. Il faut cependant faire attention au type de grandeur :

[5]:
n = input ("entrer un nombre entier : ")
type(n)
entrer un nombre entier : 42
[5]:
str

Par défaut, la fonction input entre une chaîne de caractère, avec laquelle nous ne pouvons pas faire de calculs. Il faut alors préciser que nous souhaitons une valeur entière :

[6]:
n = int(input("entrer un nombre entier : "))
type(n)
entrer un nombre entier : 42
[6]:
int
[7]:
n = float(input("entrer un nombre : "))
print(n)
entrer un nombre : 42.42
42.42

Ici n est un nombre réel.

 Comment ne pas utiliser input

Imaginons un programme devant calculer le nombre de neutrons d’un atome; nous avons besoin de A et de Z pour faire le calcul.

Une (mauvaise) solution serait d’écrire le programme de la manière suivante :

A = int(input("A ?"))
Z = int(input("Z ?"))
print("Nombre de protons : ", A-Z)

Ce code nécessite une intéraction avec l’utilisateur pour être utilisé, on ne peut pas l’utiliser de manière automatique pour calculer le nombre de protons d’un ensemble d’atomes => pas bien :)

La « bonne » solution est d’écrire l’action que l’on souhaite faire sous la forme d’une fonction (voir un peu plus loin pour les détails sur les fonctions), en détaillant et documentant les arguments à utiliser, et de faire utiliser cette fonction à l’utilisateur.

[8]:
def calcul_nombre_protons(A, Z):
    """
    Calcul et affichage du nombre de neutrons d'un atome

    :param A: nombre de masse
    :param Z: numéro atomique
    """
    print("Nombre de neutrons : ", A-Z)


calcul_nombre_protons(A=12, Z=6)
Nombre de neutrons :  6

conclusion

Nous avons vu l’essentiel des fonctions imput et print. Il existe d’autres méthodes que l’on trouvera facilement quand l’usage s’en fera sentir.