Article épinglé

Affichage des articles dont le libellé est python. Afficher tous les articles
Affichage des articles dont le libellé est python. Afficher tous les articles

vendredi 10 mars 2023

Python et nombre premier


Script didactique ;)

n=25
for i in range (n):
    div=n%(i+1)
    print(i+1,n/(i+1),div)
print("------------------")

# premier si uniquement 2 diviseurs
# idee de compter les diviseurs dans compt
n=25
compt=0
for i in range (n):
    div=n%(i+1)
    if div==0:
        compt=compt+1
print(i+1,div,compt)
#
n=11
compt=0
for i in range (n):
    div=n%(i+1)
    if div==0:
        compt=compt+1
print(i+1,div,compt)
print("**************")

### final
# si compt == 2 alors premier!
n=int(input("saisir un entier - n="))
compt=0
for i in range (n):
    div=n%(i+1)
    if div==0:
        compt=compt+1
if compt == 2:
    print(n," est un nombre premier!")
else:
    print(n," n'est pas un nombre premier!")
print("###################")


### script dans une fonction
# pour les maths
def premier(n):
    compt=0
    for i in range (n):
        div=n%(i+1)
        if div==0:
            compt=compt+1
    if compt == 2:
        print(n," est un nombre premier!")
    else:
        print(n," n'est pas un nombre premier!")

mercredi 18 janvier 2023

Python et dérivé de fonction - sympi

Calculs formels avec python

SymPy est une bibliothèque Python pour les mathématiques symboliques. Il vise à devenir un système d'algèbre informatique (CAS) complet tout en gardant le code aussi simple que possible afin d'être compréhensible et facilement extensible. SymPy est entièrement écrit en Python.

Tuto vidéo 


Voila qui plaira aux physiciens (les dérivées secondes ;)

Lien https://www.sympy.org/en/index.html

PS:

Et pour ceux qui veulent réviser:

vendredi 23 décembre 2022

Python et nombres pseudo-aléatoires

Pour comprendre:

Par défaut random() renvoie des multiples de 2⁻⁵³ dans la plage 0.0 ≤ x < 1.0. Tous ces nombres sont uniformément répartis et sont représentés exactement en tant que nombre à virgule flottante Python. Cependant, de nombreux autres nombres à virgule flottante dans cette plage, et représentables en Python, ne sont pas sélectionnables. Par exemple 0.05954861408025609 n’est pas un multiple de 2⁻⁵³.

Méthode de Monte-Carlo, pi et python

Comme il en est question dans le livre "Lune rouge" de Robinson, je creuse et je trouve:

https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Monte-Carlo 

Présentation 

Cette méthode est proche de l'expérience de l'aiguille de Buffon.

Soit un point M de coordonnées (x, y), où 0<x<1 et 0<y<1. On tire aléatoirement les valeurs de x et y entre 0 et 1 suivant une loi uniforme. Le point M appartient au disque de centre (0,0) de rayon R=1 si et seulement si x2+y2≤1. La probabilité que le point M appartienne au disque est π/4, puisque le quart de disque est de surface σ=π R2/4=π/4, et le carré qui le contient est de surface S=R2=1 : si la loi de probabilité du tirage de point est uniforme, la probabilité de tomber dans le quart de disque vaut σ/S=π/4.
En faisant le rapport du nombre de points dans le disque au nombre de tirages, on obtient une approximation du nombre π/4 si le nombre de tirages est grand.


lundi 21 novembre 2022

IPv4 et Python - si vous avez la patience...

Objectif

Afficher au bout d'un temps certain toutes les combinaisons d'IPv4 possibles au format décimal et binaire. La variable max c'est pour tester devant les élèves en mettant max=2 par exemple. 

Script

La police du script du dessous est en petit caractère afin de respecter les indentations dans les boucles. Un copier / coller dans votre IDE préféré devrait suffire (pour moi cela fonctionne;).

#debut script
max=256
compteur=0
a,b,c,d=0,0,0,0

for i in range (max):
    a=i
    for j in range (max):
        b=j
        for k in range (max):
            c=k
            for l in range (max):
                d=l
                compteur=compteur+1
                print (compteur,"-Decimal->",a,".",b,".",c,".",d,"-Binaire->",bin(a)[2:],".",bin(b)[2:],".",bin(c)[2:],".",bin(d)[2:])
#fin script

lundi 21 mars 2022

Triangle de Pascal - le retour

Une autre idée pour faire suite à ceci

https://ptroulet.blogspot.com/2020/11/python-triangle-de-pascal.html

Script

pascal=[[1,0]]

for j in range(5):
    ligne=[1]
    for i in range (len(pascal)):
       ligne.append(pascal[j][i]+pascal[j][i+1])
    
    ligne.append(0)
    pascal.append(ligne)
 
print(pascal) 

mardi 21 décembre 2021

RetD SNT Turtle

 Dessine moi une étoile



L'objectif est de dessiner l'étoile de droite, avec le moins de lignes de code possible. Pour simplifier j'ai un peu agrandi l'étoile du haut pour que les branches tombent sur ma grille.

mardi 14 décembre 2021

Pyhon, turtle et 1000 sapins

 

Vous êtes en seconde et vous aimez les arbres... alors testez ce script ;)

  • le speed(10) c'est pour aller plus vite
  • le if c'est pour éliminer le message d'erreur "division par 0"
  • la formule pour c, c'est pour tenir compte de la perspective....

lundi 13 décembre 2021

Mes beaux sapins de Noël, python et turtle

Objectif

Réaliser une forêt de sapins de Noël, comme c'est de saison... en python avec turtle. Pour la musique c'est ici! et pour se faire une idée de votre impact écologique si vous êtes partisan c'est là!

Pour les commandes, nous utiliserons :

  • from turtle import * 
    pour la bibliothèque turtle
  • dot()
    pour les points de départ des troncs
  • setpos(x,y)
    pour aller à x,y
  • import random as rd
    pour les commandes de la bibliothèque random
  • randint(a,b)
    pour tirer un entier aléatoirement entre a et b
  • penup()
    pour lever mon crayon et ne pas tracer de trait
  • pendown()
    pour abaisser mon crayon et tracer des traits

Pour le mémo des commandes, voir ici:
https://perso.limsi.fr/pointal/_media/python:turtle:turtleref.pdf

mardi 7 décembre 2021

JO, 2024, SNT et turtle - "Dessine moi le drapeau des JO!"

En 2024, entre deux vagues, il y aura peut-être les Jeux Olympiques de Paris. Alors l'éducation nationale nous propose ceci:

Mettre en place un projet pédagogique sur les Jeux olympiques et paralympiques.

Sur une idée de ma collègue de SNT, dans la catégorie "Entrer par les autres disciplines", nous concourons pour la médaille d'honneur agricole dite "le poireau" ou l'ordre du mérite agricole sur le thème "Dessine moi un drapeau en python".

Evidemment, il doit ressembler de loin à cela:


Pour entrer dans l'aventure lisez la suite...

dimanche 19 septembre 2021

Programmer en python sur son tel

 

Sur Google Play, appli pour python
https://play.google.com/store/apps/details?id=com.programiz.learnpython&hl=fr&gl=US

Le programme du dessus répond à ma demande: créer un script affichant les 100 premiers impairs et leurs carrés.

Appli gratuite avec annonces, je teste pour voir si les pubs ne sont pas trop gênantes...

vendredi 5 février 2021

Tirage avec remise en python, fonction choices

Fonctionnement de choices

Tout est là:


#debut du script
import random
#mise en place des categories, ici mon ensemble contient soit des "chomeur", soit des "non chomeur", soit des "rentier"
maliste = ["chomeur", "non chomeur", "rentier"]


'''
ceci est une liste memorisee dans tirage
elle comprendra 10 elements tires au hasard avec remise dans un sac comprenant 33 chomeur, 70 non chomeur et 10 rentier)
'''
tirage=random.choices(maliste, weights = [33, 70,10], k = 10)
print(tirage, len(tirage))
#fin du script

dimanche 29 novembre 2020

Modèle Proies-Prédateurs de Lotka-Volterra

Université de Nice, Département de Maths



Le modèle que nous étudions a été proposé par Volterra (et indépendamment par Lotka) en 1926 dans un ouvrage intitulé ”Théorie mathématique de la lutte pour la vie” qui est probablement le premier traité d’écologie mathématique. 

Volterra avait été consulté par le responsable de la pêche italienne `a Trieste qui avait remarqué que, juste après la première guerre mondiale (période durant laquelle la pêche avait été nettement réduite) la proportion de requins et autres prédateurs impropres `a la consommation que l’on pêchait parmi les poissons consommables était nettement supérieure `a ce qu’elle était avant guerre et `a ce qu’elle redevint ensuite.

https://math.unice.fr/~diener/MAB06/LotVolt.pdf



mardi 13 octobre 2020

Python et les étoiles

 Longtemps je me suis demandé comment faire ceci:



Etape 1: comprendre

Pour une pyramide à 7 * sur la base je vois:
  • une base avec 7 places -------
  • une pyramide de 4 étages
  • une première ligne avec 1 * et devant l'étoile 3 places vides
  • une seconde ligne avec 3* et devant l'étoile 2 places vides
  • etc

Etape 2: les essais

#Script-----------------------------
a=" "
b="*"

boucle=7
ecart=int((boucle-1)/2)
espace=ecart

for i in range(ecart+1):
    print(ecart*a+b)

#Script----------------------------
a=" "
b="*"

boucle=7
ecart=int((boucle-1)/2)
espace=ecart

for i in range(ecart+1):
    print(ecart*a+b)
    ecart=ecart-1


Etape 3: la réussite ;)

#Script-----------------------------
a=" "
b="*"

boucle=20
ecart=int((boucle-1)/2)
espace=ecart

for i in range(ecart+1):
    print(ecart*a+b*(i*2+1))
    ecart=ecart-1