Ce projet réalisé par Martin D, élève de 3ème au collège C Peguy d’Arras a été réalisé dans le cadre d’une formation en programmation (algorithme)
Au cycle 4, les élèves s’initient à la programmation, en développant dans une démarche de projet quelques programmes simples, sans viser une connaissance experte et exhaustive d’un langage ou d’un logiciel particulier. En créant un programme, ils développent des méthodes de programmation, revisitent les notions de variables et de fonctions sous une forme différente, et s’entraînent au raisonnement
#Martin 3efrom turtle import *
color("red" )#couleur de la figure
speed("fastest" )#vitesse trés rapide
bgcolor("black" )#couleur de fondfor i in range(75):#je répete le programme 75 fois
forward(200-i)
right(90)
forward(50)
right(90)
forward(100)
left(90)
forward(100)
right(90)
forward(50)
right(90)
forward(100)
left(90)
forward(100)
right(90)
forward(50)
right(90)
forward(100)
left(90)
forward(100)
right(90)
forward(50)
right(90)
forward(100)
left(90)
left(90)
goto(30,30)#je fais cette comande pour mettre le cercle au centre de ma figure
begin_fill()
color("black" )#couleur du cercle
circle(20)#cercle
end_fill()#cercle plein
ht()
Mes commentaires
Ce premier visuel 2019-2020 me plaît vraiment beaucoup ! Attention quand tu évoques dans un commentaire, la couleur du cercle… Il s’agit en fait de la couleur … du disque!
L’Officiel du Scrabble® est le dictionnaire officiel du jeu de Scrabble® francophone depuis le 1er janvier 1990. Il est édité par Larousse et est couramment appelé « ODS » par les scrabbleurs.
2016 voit l’entrée en vigueur de l’ODS7…
Sur le site de la fédération on peut lire :
Qui contacter pour distribuer/vendre un ouvrage ou autre produit utilisant la base de mots de l’Officiel du Scrabble® ?
Tout auteur souhaitant distribuer/vendre un ouvrage ou autre produit (hors application pour Smartphone), utilisant une base de mots conforme à l’Officiel du Scrabble®, doit remplir un contrat de partenariat qui lui sera envoyé sur demande faite auprès de la FISF, à l’adresse suivante : contact@fisf.net
Toute société souhaitant distribuer/vendre un produit numérique privé/grand public sécurisé du type application pour Smartphone, utilisant une base de mots conforme à l’ODS, doit contacter Jean-François Richez, responsable des licences numériques chez Larousse, à l’adresse suivante : JFRICHEZ@larousse.fr
Remarque : Je dis bien liste de mots (et non dictionnaire). Et les mots sont à tout le monde…
En effet j’envisage de faire travailler des élèves de 4ème, 3ème sur le développement d’algorithmes divers ayant pour base des jeux de lettres :
Boggle
Scabble
Pendu
etc…
Après quelques recherches sur la toile, je me suis aperçu que le fichier txt que je cherchais n’existait pas. Mais que quelques sites proposaient des listes (en html multi-pages. )
Ainsi le très bon listesdemots.net vous propose de nombreuses liste de mots. (898 pages)
Il était donc possible mais fastidieux de créer un fichier txt en copiant collant toutes ces listes !
Pas si fastidieux si on a Python sous le coude !
#wouf 2018 (py3.6.4)
#http://site2wouf.fr
#Pour créer dico.txt
#Qui contient un lexique basé sur
#ODS7
#En scollant le site : listesdemots.net
#requis :l beautifulsoup4
#(cmd : pip install beautifulsoup4)
import requests
from bs4 import BeautifulSoup
fichier = open("dico.txt", "w")
# Initialisation:
url="https://www.listesdemots.net/touslesmots"
requete = requests.get(str(url+".htm")) #page1
print(requete.url)
page = requete.content
soup = BeautifulSoup(page,features="html5lib")
span = soup.find("span", {"class": "mot"})
mots=span.string.strip()
lesmots=mots.split(" ")
for l in lesmots:
fichier.write(l+"\n")
print("|",end="")
print()
print("page 1 : OK ("+str(len(lesmots))+")")
totalmot=len(lesmots)
fichier.close()
#page 2 à 8998:
for i in range(2,899):
fichier = open("dico.txt", "a")
lurl=url+"page"+str(i)+".htm"
ok=False
while not ok:
try:
requete = requests.get(lurl,timeout=1)
ok=True
except:
print("Problème de connexion. Je recommence !")
print(requete.url)
page = requete.content
soup = BeautifulSoup(page,features="html5lib")
span = soup.find("span", {"class": "mot"})
mots=span.string.strip()
lesmots=mots.split(" ")
for l in lesmots:
fichier.write(l+"\n")
print("|",end="")
totalmot+=len(lesmots)
print()
print("page "+str(i)+" : OK ("+str(len(lesmots))+"/"+str(totalmot)+")")
fichier.close()
#fin du scipt:
print("mots :",totalmot)
Ce script produit en quelques minutes un fichier txt (avec un mot par ligne) contenant les 402 503 mots du site !
En cas de mauvaise connexion, pas de souci, le script gère ! Le temps de génération du fichier txt sera sensiblement plus long !
Ce projet réalisé par Nolan, élève de 3ème au collège C Peguy d’Arras a été réalisé dans le cadre d’une formation en programmation (algorithme)
Au cycle 4, les élèves s’initient à la programmation, en développant dans une démarche de projet quelques programmes simples, sans viser une connaissance experte et exhaustive d’un langage ou d’un logiciel particulier. En créant un programme, ils développent des méthodes de programmation, revisitent les notions de variables et de fonctions sous une forme différente, et s’entraînent au raisonnement
#Nolan L. 3Bfrom turtle import*
title("Mon projet python Nolan" )
bgcolor("black" )#Je change de couleur l'arrière plan
speed("fastest" )#La vitesse
shape("blank" ) #Faire disparaître le curseurfor i in range(125):
color("red" )
forward(100+i)#A chaque fois, il augmente de +1
left(90)
color("green" )
forward(100)
left(90) #Il tourne à gauche
color("blue" )
forward(100)
left(90)
color("yellow" )
forward(100)
up() #Je lève le crayon
forward(10)
down()#Je remet le crayon
Mes commentaires
Quand on débute dans un langage de programmation, commenter ses sources a une importance particulière : aider à mémoriser les instructions simples. Mais Python est tellement "lisible" que la plupart des commentaires sont ici inutiles.
Le résultat est simple et joli, et je ne me suis posé qu'une question à la lecture du code : Pourquoi 125 itérations ?
L’algorithme au collège st une nouveauté intéressante. Nous sommes au début d’une ère nouvelle où les têtes pensantes hésitent encore sur les outils à utiliser.
Si d’aucun ne jure que par scratch ou algobox d’autres, comme moi ont le coeur qui bât pour Python.
Le premier souci que nous pouvons rencontrer est la publication d’algorithme (code) sous les ENT, sites perso ou blog…