Outils pour utilisateurs

Outils du site


icn:facultatif:c_langage_python_type

Python : les types de base

Les entiers

  • les entiers sont de type int
In []: type(1)
Out[]: int

La fonction type() permet de connaître le type d'une donnée ou d'une variable.

Les réels

  • les réels sont de type float
In []: type(1.2)
Out[]: float

Exercices sur les variables numériques

1- Ecrire un programme qui demande la saisie de a, b, c, puis qui permet d'afficher les résultats de l'équation: ax2 +bx +c

Marche à suivre: calculer DELTA. En fonction des valeurs de DELTA, Afficher pas de racines, ou une racine double ou deux racines.

2- Ecrire un programme qui permet de lancer 10 fois une pièce. Afficher le nombre de fois où elle est retombée sur pile et le nombre de fois où elle est retombée sur face.

Facultatif: 3- Ecrire un programme qui demande la saisie d'un nombre N, puis qui effectue la somme des N premiers nombres.

Corrigé Exercice 1

Lien : https://github.com/lyceeValadonLimoges/courspython/blob/master/numex1.py

numex1.py
from math import *
print ("Equation du second degré")
a= int(input ("la valeur de a "))
b= int(input ("la valeur de b "))
c= int(input ("la valeur de c "))
delta = b*b -4*a*c
print (delta)
if delta <0:
    print ("pas de racines")
elif delta==0:
    print ("racine double ", -b/2*a)
elif delta >0:
   x1 =(-b + sqrt(delta))/2*a
   x2 =(-b - sqrt(delta))/2*a
   print ("les deux réponses sont: ",x1, "et ",x2)
 
"""   
   Il faut bien préciser pour que le programme fonctionne
   qu'il faut charger la bibliothèque mathématique:
   from math import *
"""

Corrigé Exercice 2

Lien : https://github.com/lyceeValadonLimoges/courspython/blob/master/numex.py

numex2.py
from random import *
lancer, pile, face = 0, 0, 0
for loop in range(10):
    lancer = randint(0,1)
    if lancer == 0:
        pile = pile + 1
    else:
        face = face + 1
print("Nombre de pile = {} ; nombre de face = {}".format(pile, face))

Un module est une sorte de bibliothèque qui regroupe un ensemble de fonctions prédéfinies sur un thème particulier. En important un module dans votre programme, vous permettez à votre programme d'accédez aux fonctions qui y sont incluses.

Le module random qui signifie le hasard contient des fonctions générant des nombres aléatoires :

  • la fonction random() renvoie un nombre réel aléatoire compris entre 0 et 1,
  • la fonction randint(x,y) renvoie un nombre entier aléatoire compris entre x et y
  • la fonction choice(liste) renvoie au hasard un éléments de la liste (nombre ou chaîne de caractères).

Les booléens

  • les booléens sont de type bool
In []: type(False)
Out[]: bool

Les chaînes de caractères

  • les chaîne de caractères sont de type str
In []: type("ICN")
Out[]: str

Exercice

Quel est le type approprié pour les variables suivantes :

  1. une variable qui contient votre prénom ?
  2. une variable qui contient le nombre de fois ou une boucle for est exécutée ?
  3. une variable qui stocke au fur et à mesure le plus grand des nombres saisis au clavier ?
  4. une variable qui stocke le résultat de la division de deux nombres ?
  5. une variable qui mémorise si tu es abonné(e) ou pas à la revue Sciences et vie?

Les chaînes de caractères

Une chaîne de caractères est de type str mais n'est pas un simple type de base. L'objet str est en réalité composé de plusieurs valeurs élémentaires que sont ses différents caractères. Il est possible d'accéder à un caractère précis avec l'opérateur crochet en précisant la position du caractère par son indice :

In []: chaine="ICN"
In []: print(chaine[1])
C

L'indice commence à la valeur 0. L'indice 1 correspond alors au deuxième caractère C.

L'objet str possède plusieurs fonctions appelées méthodes. Par exemple pour mettre en minuscule le contenu de la variable chaine, on utilise la méthode lower().

In []: chaine="ICN"
In []: print(chaine.lower())
icn

Exercice

1-Ecrire un programme qui demande la saisie d'une chaîne de caractères et qui :

  1. compte le nombre d'espace,
  2. compte le nombre de voyelles

(Revoir le cours sur les boucles)

Le formatage d'une chaîne de caractères

Voici deux manières de formater une chaîne de caractères avec des variables.

Les f-strings

>>> prenom = "David"
>>> print(f"Bonjour {prenom}. Comment vas-tu ?")
'Bonjour David. Comment vas-tu ?' 

Print(f“dans 10 ans {prenom} aura {age + 10} ans”)

La méthode **format()

>>> prenom = "David"
>>> print("Bonjour {prenom}. Comment vas-tu ?".format(prenom))
'Bonjour David. Comment vas-tu ?' 

D'autres méthodes et fonctions des chaînes de caractères

L'utilisation des méthodes d'un objet str ne modifie pas le contenu de l'objet mais renvoie un résultat qui est une nouvelle chaîne de caractères.

Les résultats du tableau sont obtenus avec la variable chaine qui contient l'information suivante :

chaine = "Informatique et Création Numérique".
PourMéthode ou fonctionRésultat
Mettre en majusculechaine.upper()'INFORMATIQUE ET CRÉATION NUMÉRIQUE'
Mettre en minusculechaine.lower()'informatique et création numérique'
Mettre la première lettre en majusculechaine.capitalize()'Informatique et création numérique'
Connaître la longueur de la chaînelen(chaine)34
Savoir si une chaîne est contenue dans chaine“a” in chaineTrue (renvoie True ou False)
Compter le nombre d'occurrence d'un caractère ou d'une chaîne dans chainechaine.count(“i”)3
Connaître la position de la première occurrence d'un caractèrechaine.index(“a”)6
Remplacer des caractèreschaine.replace(“a”, “A”)'InformAtique et CréAtion Numérique'
Découper une chaîne de caractèrechaine.split() ['Informatique', 'et', 'Création', 'Numérique']
Extraire plusieurs caractères d'une chaînechaine[début:fin]chaine = “azerty” chaine[3:5]donne “rty” car le début de la chaîne commence à 0
Concaténer deux chaînes de caractères + 'Bonjour' +' les'+ 'amis'='Bonjour les amis'

La méthode split() utilise le caractère espace comme séparateur et renvoie la liste des mots contenus dans la chaîne.

Exercice

2-Ecrire un programme qui demande la saisie d'une chaîne de caractères et qui :

  1. la réécrit tout en majuscule,
  2. la réécrit tout en minuscule,
  3. compte le nombre de voyelles

3- Ecrire un programme qui demande la saisie d'une chaîne de caractères.

Si la taille de la chaîne est supérieure à 10 caractères, faire afficher les 10 premiers caractères de la chaîne.

Si la taille de la chaîne est inférieure à 10 caractères, faire afficher la chaîne en la complétant avec des points jusqu'à ce que la taille de la chaîne soit égale à 10.

4- Ecrire un programme qui vous demande la saisie de votre prénom suivi de votre nom.

4.1- Faire afficher les initiales correspondantes.

4.2- Prévoir les prénoms et les noms composés.(On supposera que c'est un tiret(-) qui indique que le nom ou/et le prénom est composé. Vous allez d'abord faire afficher le prénom, puis le nom, puis les initiales correspondantes.

Retour au cours : Les instructions du langage Python

icn/facultatif/c_langage_python_type.txt · Dernière modification: 2018/10/18 21:10 (modification externe)