0% ont trouvé ce document utile (0 vote)
2 vues5 pages

Programme Python

Le document présente une série de fonctions Python pour diverses opérations, telles que la saisie d'entiers, le remplissage de tableaux, la recherche d'éléments, le tri, et des calculs mathématiques comme le PGCD et le factoriel. Chaque fonction est accompagnée d'exemples d'appels pour illustrer son utilisation. Le code inclut également des vérifications de conditions spécifiques, comme la saisie d'entiers pairs ou de chaînes alphabétiques.

Transféré par

lachhabrayen9
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues5 pages

Programme Python

Le document présente une série de fonctions Python pour diverses opérations, telles que la saisie d'entiers, le remplissage de tableaux, la recherche d'éléments, le tri, et des calculs mathématiques comme le PGCD et le factoriel. Chaque fonction est accompagnée d'exemples d'appels pour illustrer son utilisation. Le code inclut également des vérifications de conditions spécifiques, comme la saisie d'entiers pairs ou de chaînes alphabétiques.

Transféré par

lachhabrayen9
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

# 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

Vous aimerez peut-être aussi