Terminale NSI

Forum NSI du lycée Carnot


Répondre
Avatar du membre
maths-code
Site Admin
Messages : 48
Enregistré le : mer. avr. 19, 2023 9:02 pm

Terminale NSI

Message par maths-code »

Code : Tout sélectionner

class Point:
    def init (self, abscisse, ordonnee):
        self.a = abscisse
        self.b = ordonnee
        
def __str__(self): return f"({self.a}, {self.b})" def distAB(self, autrepoint): return pow((pow((autrepoint.a - self.a), 2) + pow((autrepoint.b - self.b), 2)), 1/2) def __eq__(self, autrepoint): return self.a == autrepoint.a and self.b == autrepoint.b
class Domino: def __init__(self, faceA, faceB): self.a = faceA self.b = faceB
def __str__(self): return f"({self.a}, {self.b})" def valeur(self): return self.a + self.b def somme(self, autredomino): return self.valeur() + autredomino.valeur() def __eq__(self, autredomino): return self.valeur() == autredomino.valeur()
Avatar du membre
maths-code
Site Admin
Messages : 48
Enregistré le : mer. avr. 19, 2023 9:02 pm

Re: Terminale NSI

Message par maths-code »

Code : Tout sélectionner

class CompteBancaire:
    def __init__(self, solde, nom):
        self.s = solde
        self.n = nom
        
def depot(self,argent): self.s = argent + self.s def retrait(self, montant): self.s = self.s - montant def __str__(self) return f"le montant disponible est {self.s}"
Avatar du membre
maths-code
Site Admin
Messages : 48
Enregistré le : mer. avr. 19, 2023 9:02 pm

Récursivité

Message par maths-code »

#Exercice 1

Code : Tout sélectionner

def somme_carre(n):
    if n == 1:
        return 1
    else:
        return somme_carre(n-1) + n*n

#Exercice 2

Code : Tout sélectionner

def inverser(liste):
    n = len(liste)
    if n == 0 or n == 1:
        return liste
    else:
        x0 = liste.pop(0)
        fin_liste = liste
        inverser(fin_liste)
        fin_liste.append(x0)
        return fin_liste 
inverser([1, 2, 3])

#Exercice 3

Code : Tout sélectionner

def nb_dor(n):
    if n == 0:
        return 1
    else:
        return 1+1/nb_dor(n-1)

Code : Tout sélectionner

def nb_dor_2(n):
    """
    Pourquoi cette version pose problème ?
    """
    if n > 0:
        return 1+1/nb_dor(n-1

)

"""
Faire 2 versions :

Code : Tout sélectionner

>>> compte_rebours(5)
5
4
3
2
1
Décollage !

Et la suivante
"""

Code : Tout sélectionner

def compte_rebours(n):
    if n == 0:
        return "Décollage"
    else :
        return(f"{n} , " + compte_rebours(n-1))
Avatar du membre
maths-code
Site Admin
Messages : 48
Enregistré le : mer. avr. 19, 2023 9:02 pm

Re: Terminale NSI

Message par maths-code »

Code : Tout sélectionner

def est_palindrome(mot):
    if len(mot) == 0 or len(mot) == 1:
        return True
    if not mot[0] == mot[-1]:
        return False
    else:
        n_mot = mot[1:-1]
        return est_palindrome(n_mot)
Répondre