TP1 Python: Rappel des notions de base
Les chaînes de caractères, Les types listes, tuples et dictionnaires
Exercice 1:
N=int(input("donner un entier N:"))
while not N>1000:
N=int(input("donner un entier N:"))
if N%2==0:
print("PAIR")
else:
print("IMPAIR")
C=0
T=N
while T%2 == 0:
C+=1
T//=2
print(N,"est divisible",C,"fois par 2")
diviseurs = []
for i in range(2, N):
if N % i == 0:
[Link](i)
if len(diviseurs) == 0:
print(N, "est premier")
else:
print("Les diviseurs propres de", N, "sont :", diviseurs)
chanceux=True
for n in range(0,N-1):
if not premier(N+n+n**2):
chanceux=False
break
if chanceux:
print(N, "est un nombre chanceux")
else:
print(N, "n'est pas un nombre chanceux")
def premier(x):
if x<2:
return False
for i in range(2,x):
if x%i == 0:
return False
return True
Exercice 2:
a=int(input("donner la puissance nominale minimale a:"))
b=int(input("donner la puissance nominale maximale b:"))
while not 1<a<b<100:
a=int(input("donner la puissance nominale minimale a:"))
b=int(input("donner la puissance nominale maximale b:"))
P=int(input("donner P:"))
H=int(input("donner H:"))
def CalculEnergie(P,H):
while not P>0 and int(P)==true and H>0 and int(H)==true:
E=P*H
return E
for P in range(a,b+1):
E=P*H
print(E)
Exercice 3:
def echange(ch):
L = ""
for c in ch:
if c=='a':
L+='q'
elif c=='q':
L+='a'
else:
L+=c
return L
def dys(ch):
return [Link]('ae', 'ea')
def rep(ch):
L=ch[0]
compteur=1
for i in range(1, len(ch)):
if ch[i]==ch[i-1]:
compteur+= 1
else:
compteur=1
if compteur<=2:
L+=ch[i]
return L
ch=input("donner une chaine:")
print (echange(ch))
print (dys(ch))
print (rep(ch))
Exercice 4:
def verifier(L1, L2):
manquants=[]
for x in L1:
if x not in L2:
[Link](x)
restants=[]
for x in L2:
if x not in L1:
[Link](x)
if len(manquants)==0:
print("les composantes de L1 ont été trouvés dans l'inventaire. Voici les pieces
restantes:",restants)
else:
print("Certains composants de L1 ne sont pas disponibles dans l’inventaire. Voici les
pieces manquantes:",manquants)
L1=["roue","moteur","transmission"]
L2=["roue","moteur","transmission","frein","chassis"]
verifier(L1, L2)
Exercice 5:
#1
Embedded = ("arduino", "raspberry", "jetson", "jetson", "ip", 254, "jetson", 300, "jetson", 58)
#2
print("longueur:", len(Embedded))
#3
print("deuxieme element:", Embedded[1])
#4
print("existence de 'jetson' dans le tuple?:", "jetson" in Embedded)
#5
print("nombre de foix de 'jetson':", [Link]("jetson"))
#6
indices=()
for i,v in enumerate(Embedded):
if v=="jetson":
[Link](i)
print("Indices of 'jetson':", indices)
#7
entiers=0
for v in Embedded:
if type(v) == int:
entiers += 1
print("nombre des elements entiers:", entiers)
#8
k=0
for v in Embedded:
if type(v)==str and v[-1]=='x':
k += 1
print("nombre des elements qui se terminent par x:", k)
Exercice 6:
while True:
N = int(input("donner le nombre de villes:"))
if N > 10:
break
pluie = {}
for i in range(N):
ville=input(f"nom de la ville {i} : ")
quantite=float(input(f"quantité de pluie enregistrée à {ville} : "))
pluie[ville] = quantite
pluie_max = max([Link]())
villes_max = []
for ville in pluie:
if pluie[ville] == pluie_max:
villes_max.append(ville)
for ville in villes_max:
print("la ville avec la pluviométrie maximale est",ville,":",pluie_max)
Exercice 7:
while True:
N=int(input("donner un entier N:"))
if N<4:
print("Attention: valeur invalide, reessayer:")
else:
break
capteurs={}
for i in range(1,N+1):
print("Capteur_", i)
t = float(input("Température mesurée:"))
g = float(input("Niveau de gaz détecté:"))
capteurs[f"capteur_{i}"] = {"temperature": t,"gaz": g}
max_temp = capteurs["capteur_1"]["temperature"]
for c in capteurs:
if capteurs[c]["temperature"] > max_temp:
max_temp = capteurs[c]["temperature"]
capteurs_max = []
for c,v in [Link]():
if v["temperature"]==max_temp:
capteurs_max.append(c)
for c in capteurs_max:
print("le capteur ayant enregistré la température la plus élevée :",c, ":", capteurs[c])