# saisir un entier positif et pair
def saisie():
n=int(input("donner un entier positif et pair"))
while not(n>0 and n %2==0):
n=int(input("donner un entier positif et pair"))
return n
"""----------exemple d'appel--------------
n=saisie()
----------------------------------"""
#remplir un tableau par n chaînes
def remplir(n,t):
for i in range(n):
t[i]=input("donner t["+str(i+1)+"]")
""" ----------exemple d'appel-------------
from numpy import array
n=saisie()
t=array([str]*n)
remplir(n,t)
------------------------------------------"""
#remplir un tableau par n chaînes
def remplir(n,t):
for i in range(n):
t[i]=input("donner t["+str(i+1)+"]")
""" ----------exemple d'appel-------------
from numpy import array
n=saisie()
t=array([str]*n)
remplir(n,t)
------------------------------------------"""
#remplir un tableau par n entiers distincts Autre version
def distinct(t,i): def distinct(t,i):
test=True nb=0
for j in range(i) : for j in range(i) :
if t[j]= =t[i]: if t[j]= =t[i]:
test= False nb=nb+1
return test test=nb==0
return test
def remplir(n,t):
for i in range(n):
t[i]=int(input("donner t["+str(i+1)+"]"))
while not distinct(t,i):
t[i]=int(input("donner t["+str(i+1)+"]"))
""" ----------exemple d'appel-------------
from numpy import array
n=saisie()
t=array([int]*n)
remplir(n,t)
------------------------------------------"""
Page1|5
#saisir une chaîne de caractère formé uniquement par des alphabets
def verif(ch):
i=0 Autre version
ch=[Link]() def verif(ch):
test = True nb=0
while i<len(ch) and test : ch=[Link]()
if"A"<=ch[i]<="Z": for i in range(len(ch)) :
i=i+1 if"A"<=ch[i]<="Z":
else: nb=nb+1
test=False test=nb==len(ch)
return test return test
return test
def saisiech():
ch=input("donner une chaîne alphabétique")
while not verif(ch):
ch=input("donner une chaîne alphabétique")
returnch
""" ----------exemple d'appel-------------
ch=saisiech()
"""
#chercher la position du minimum dans un tableau
def posmin(t,n):
p=0
for i in range(1,n):
if t[i]<t[p]:
p=i
return p
""" ----------exemple d'appel-------------
p=posmin(t,n)
"""
#déterminer le maximum dans un tableau
def maximum(t,n):
m=t[0]
for i in range(1,n):
if t[i]>m:
m=t[i]
return m
""" ----------exemple d'appel-------------
m=maximum(t,n)
"""
#déterminer l'existence de x dans un tableau t
def recherche(t,n,x):
i=0
test=False
while i<n and test==False:
if t[i]==x:
test=True
else:
i=i+1
return test
Page2|5
#déterminer la position de x dans un tableau t
#lorsque x n'existe par la fonction retourne -1
def posx(t,n,x):
i=0
p=-1
while i<n and p==-1:
if t[i]==x:
p=i
else:
i=i+1
return p
#calculer le nombre de répétition de x dans t
def occurrence(t,n,x):
nb=0
for i in range(n):
if t[i]==x:
nb=nb+1
return nb
#trier un tableau T par ordre croissant
def tri(t,n):
for i in range(n-1):
for j in range(i+1,n)
if t[i]>t[j]:
t[i],t[j]=t[j],t[i]
#trier une chaîne par ordre décroissant
def trichaîne(ch):
ch1=""
while ch!="":
p=0
for i in range(1,len(ch)):
if ch[i]>ch[p]:
p=i
ch1=ch1+ch[p]
ch=ch[:p]+ch[p+1:]
return ch1
#inverser une chaîne de caractère
def inverser(ch):
ch1=""
for i in range(len(ch)):
ch1=ch[i]+ch1
return ch1
#pgcd de deux entiers
def pgcd(a,b):
r=a%b
while r!=0:
a=b
b=r
r=a%b
return b
Page3|5
#ppcm de deux entiers
def ppcm(a,b):
if a<b:
a,b=b,a
r=a
whiler%b!=0:
r=r+a
return r
#vérifier la primalité d'un entier (premier ou non) Autre version
from math import sqrt de fpremier(x):
def premier(x): nb=0
i=2 for i in range(1,x+1) :
while i<=sqrt(x) and x%i!=0: if x%i==0 :
i=i+1 nb=nb+1
test=i>sqrt(x) and x!=1 test=nb==2
return test return test
#calculer la somme des diviseurs d'un entier sauf lui-même
def som(x):
s=0
for i in range(1,x//2+1):
if x %i ==0:
s=s+i
rerurn s
#calculer la somme des chiffres d'un entier A
def somchiff(x):
ch=str(x)
s=0
for i in range(len(ch)):
s=s+int(ch[i])
return s
#extraire les facteurs premiers d'un entier dans un tableau T
def factPremier(x,T):
i=2
n=0
while x>1:
if x %i ==0:
T[n]=i
n=n+1
x=x //i
else:
i=i+1
""" ----------exemple d'appel-------------
T=array([int]*(x//2))
n=factPremier(x,T)
"""
Page4|5
#calculer le factoriel d'un entier
def fact(x):
f=1
for i in range(2,x+1):
f=f*i
return f
#calculer a à la puissance b sachant que b>0
def puissance(a,b):
p=1
for i in range(b):
p=p*a
return p
#convertir un entier n de la base décimale vers une base b
def convB10BB(n,b):
ch=""
while n>0:
r=n%b
n=n//b
if r>=10:
c=chr(r+55)
else:
c=str(r)
ch=c+ch
return ch
#convertir une chaîne ch de la base b vers la base décimale
def convBBB10(ch,b):
n=0
p=1
for i in range(len(ch)-1,-1,-1):
if ch[i].isdecimal():
r=int(ch[i])
else:
r=ord(ch[i])-55
n=n+r*p
p=p*b
return n
Page5|5