# TD1 - Bases de Python

1. Écrire un programme qui demande à l’utilisateurice d’entrer le nom et l’âge. 
Il affichera ensuite la phrase `"Bonjour <nom>, vous aurez 30 ans en <année>"`

```python
nom = input("Entrer votre nom : ")
age = int(input("Entrer votre age : "))

print(f"Bonjour {nom}, vous aurez 30 ans en {30 - age + 2025}")
```

2. Écrire un programme qui demande à l’utilisatrice d’entrer la largeur et la longueur d’un rectangle. Le programme calcule et affiche la surface et le périmètre. 
*Utilisez des variables de type `float`*

```python
largeur = float(input("Largeur (m) : "))
longueur = float(input("Longueur (m) : "))

surface = largeur * longueur
perimetre = 2*(largeur + longueur)

print(f"Surface : {surface} m²")
print(f"Périmètre : {perimetre} m")
```

2. Écrire un programme qui demande à l'utilisatrice d'entrer un rayon et une hauteur de cône. Le programme calculera le volume du cône. Pour rappel, la formule de calcul du volume d'un cône est : $V = \frac{1}{3}.\pi.r^2.h$

```python
from math import pi 

rayon = float(input("Rayon du cône (m) :")) 
hauteur = float(input("Hauteur du cône (m) :")) 
  
volume = (pi * hauteur * rayon ** 2) / 3.0 
print("Volume du cône =", volume, "m3")
```

3. Écrire un programme qui demande à l'utilisateur de saisir 3 notes et d'en faire la moyenne. *Utilisez des variables de type `float`*

```python
note_1 = float(input("1ere note : "))
note_2 = float(input("2e note : "))
note_3 = float(input("3e note : "))

moyenne = (note_1 + note_2 + note_3)/3

print(f"Moyenne : {moyenne}")
```


4. Écrire un programme qui demande à l'utilisatrice de saisir deux nombres. Le programme comparera les deux nombres de façon à afficher une comparaison avec les symboles `<, > ou =`, comme dans l'exemple :

```
1er nombre : 14
2nd nombre : 12
14 > 12
```

```python
nombre_1 = float(input("1er nombre : "))
nombre_2 = float(input("2nd nombre : "))

if nombre_1 > nombre_2 :
    print(f"{nombre_1} > {nombre_2}")
elif nombre_1 < nombre_2 :
    print(f"{nombre_1} < {nombre_2}")
else:
    print(f"{nombre_1} = {nombre_2}")
```


5. Écrire un programme indiquant si un nombre saisi par l'utilisateur est pair ou impair

```python
nombre = int(input("Nombre : "))

if nombre % 2:
    print(f"{nombre} est impair")
else:
    print(f"{nombre} est pair")
```


6. Écrire un programme qui demande à l'utilisatrice d'entrer un nombre. Le programme affichera les 10 nombres suivants **sur une seule ligne**. *Utilisez une boucle `for`*

```python
nombre = int(input("Entrez un nombre : "))

for i in range (1, 11):
    print(nombre + i, end=" ")
```

7. Faire le même exercice mais avec une boucle `while` cette fois.

```python
nombre = int(input("Entrez un nombre : "))

nombre_affiche = nombre
while nombre_affiche != nombre + 10:
    nombre_affiche += 1
    print(nombre_affiche, end=" ")
```

10. Écrire un script python permettant de convertir en base 10 (décimal) un nombre écrit en binaire sous forme d'une chaîne de caractères. Vous demanderez à l'utilisateur ou l'utilisatrice le nombre à convertir, et vous afficherez le résultat.

```python
base = 2

nombre_binaire = input("Saisissez le nombre à convertir")
nombre_decimal = 0

puissance = len(nombre_binaire) - 1
for a in nombre_binaire:
    nombre_decimal += int(a) * base ** puissance
    puissance -= 1

print(f"{nombre_binaire}b = {nombre_decimal}")
```

10. Écrire un programme permettant d'afficher les 15 premiers termes de la suite de Fibonacci. Pour rappel, la suite de Fibonacci est une suite de nombres dont chaque nombre est la somme des deux précédents. Elle commence par 0 et 1.


```python
n0 = 0
n1 = 1

print(n0, n1, end=" ")

for i in range(0, 13):
    n2 = n0 + n1
    n0 = n1
    n1 = n2
    
    print(n2, end=" ")
```

11. Écrire un programme qui permet d'afficher le résultat de l'opération factorielle d'un nombre. Pour rappel, factorielle de $n$ s'écrit $n!$ et vaut le produit de tous les nombres entiers de 1 à n. 

    Par exemple : $5! = 1\times2\times3\times4\times5 = 120$

```python
nombre = int(input("Nombre : "))

resultat = 1
for i in range(1, nombre + 1):
    resultat = resultat * i
    
print(f"{nombre}! = {resultat}")
```

12. Écrire un script python permettant de convertir en binaire un nombre entier écrit en base 10. Vous demanderez à l'utilisateur ou l'utilisatrice le nombre à convertir, et vous afficherez le résultat.

```python
nombre_decimal = input("Saisissez le nombre à convertir : ")
nombre_binaire = ""

quotient = int(nombre_decimal)
resultat = ""

while quotient != 0:
    reste = quotient % 2
    quotient = quotient // 2
    
    resultat = str(reste) + resultat

print(resultat)
```