| Deutsch English Français Italiano |
|
<slrnsqaqvf.ncj.lulu042@valentino.Rock-n-Roll.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!cleanfeed3-b.proxad.net!nnrp1-1.free.fr!not-for-mail
Newsgroups: fr.comp.lang.python
From: Lulu <lulu042@fry.fr.invalid>
Subject: Re: windows : installation module
References: <slrnsqaocj.2pn.lulu042@valentino.Rock-n-Roll.org>
Organization: koitess?
User-Agent: slrn/1.0.3 (Linux)
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Message-ID: <slrnsqaqvf.ncj.lulu042@valentino.Rock-n-Roll.org>
Date: Tue, 30 Nov 2021 01:10:23 +0100
Lines: 140
NNTP-Posting-Date: 30 Nov 2021 01:10:37 CET
NNTP-Posting-Host: 37.173.226.43
X-Trace: 1638231037 news-1.free.fr 4986 37.173.226.43:37627
X-Complaints-To: abuse@proxad.net
Bytes: 5828
Le 29-11-2021, Lulu <lulu042@fry.fr.invalid> a écrit :
> Bonjour,
>
> Je suis linuxien, donc autant dire que je n'ai aucun problème pour
> installer des modules python sur ma linuxette.
>
> Mais mes élèves sont sous Windows 10 (dotation de la région pour tous
> les élèves de seconde) et je suis censé leur donner la marche à suivre
> pour installer un module comme numpy par exemple.
>
> Sous windows 10, je peux installer numpy dans une 'invite de commande'
> lancée en tant qu'administrateur avec 'python -m pip install numpy'.
>
> Cependant, je mange une erreur à l'exécution de mon script :
> %Run syracuse2_nocolor.py
> Traceback (most recent call last):
> File "C:\Users\hugo\Documents\taf\2nd_SNT\01_algo_python\2020-01-07_syracuse2\syracuse2_nocolor.py", line 24, in <module>
> import numpy as np
> ModuleNotFoundError: No module named 'numpy'
>
> Il semble donc que l'installation des modules ne soit pas "vue" par mon
> script. Donc, j'ai besoin d'aide...
>
> Comment installer un module pour python sous Windows 10 ?
>
> Merci de votre aide.
J'ai pensé que vous auriez apprécié le code de la conjucture de
syracure :
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Auteur : <h.fertin@ac-rouen.fr>, Lycée Jules Siegfried, Le Havre
# Creative Commons : https://creativecommons.org/licenses/by-nc-sa/2.0/fr/
# Attribution :: Pas d'utilisation commerciale :: Partage dans les mêmes conditions
# Formulée en 1937 par Lothar Collatz (mathématicien allemand), elle
# reste à ce jour irrésolue : personne n'a encore pu prouver que cette
# conjecture se termine toujours par 1.
# Propriétés remarquables de la conjecture :
# - un nombre n'apparait jamais 2 fois dans la suite ;
# - toute suite se termine par une série de puissances de 2 ;
# - un nombre impair est toujours suivi d'un nombre pair ;
# - les nombres 5 et 32 donnent la même suite.
# Certains nombres ont des trajectoires surprenantes :27, 255, 447, 639 ou 703.
# Ce script utilise le test 'if' et le test 'while' puis trace un graphe.
import numpy as np
import matplotlib.pyplot as plt
# mar. 27 avril 2021 18:15:16 CEST
# je veux avoir une espace en séparateur de milliers
import locale
# https://stackoverflow.com/questions/955986/what-is-the-correct-way-to-set-pythons-locale-on-windows
# You should not pass an explicit locale to setlocale, it is wrong.
# Let it find out from the environment.
# You have to pass it an empty string
# locale.setlocale(locale.LC_NUMERIC, 'fr_FR.UTF-8')
locale.setlocale(locale.LC_ALL, '')
# je n'aurais plus qu'à faire 'print("ma variable vaut {:n} bla bla".format(ma_variable))'
# pour que ma_variable affiche les séparateurs de milliers
# Cette fonction devient inutile
# def Formate_Entier(s, sep=' '):
# if len(s) <= 3:
# return s
# else:
# return Formate_Entier(s[:-3], sep) + sep + s[-3:]
print('\n **************************')
print(' * Conjecture de Syracuse *')
print(' **************************\n')
# test pour vérifier que l'utilisateur saisi bien un nombre entier
while True:
x = input('Donner un nombre entier : ')
try:
le_nombre_saisi = int(x)
break
except ValueError:
print(' Saisir un nombre ENTIER !!!')
pass
le_nombre = le_nombre_saisi
print("{:>20n}".format(le_nombre), end='')
# initialisation de la liste des nombres constituants la suite de Syracuse
suite_Syracuse = []
altitude_max = 1
while le_nombre != 1 :
suite_Syracuse.append(le_nombre)
if le_nombre > altitude_max :
altitude_max = le_nombre
if le_nombre % 2 == 0:
print(' pair ---> x = x / 2')
le_nombre = le_nombre // 2
else:
print(' impair ---> x = 3 * x + 1')
le_nombre = 3 * le_nombre + 1
print("{:>20n}".format(le_nombre), end='')
suite_Syracuse.append(1)
print('\n\n-=-=-=-=')
print(suite_Syracuse)
print('-=-=-=-=')
print('Nombre saisi :', "{:n}".format(le_nombre_saisi))
print('Temps de vol :', "{:n}".format(len(suite_Syracuse)), 'itérations.')
print('Altitude maximale atteinte :', "{:n}".format(altitude_max))
abscisse_liste = []
for i in range(len(suite_Syracuse)):
abscisse_liste.append(i)
x = np.array(abscisse_liste)
y = np.array(suite_Syracuse)
fig = plt.figure(figsize=(10, 6))
# plt.yscale('log')
# plt.grid()
plt.bar(x, y, color = 'green')
plt.suptitle('Conjecture de Syracuse', fontsize = 20, x = 0.5, y = 0.995, color = 'red')
la_string = "(graphe pour {:n})".format(le_nombre_saisi)
plt.title(la_string, color='orange')
Comm_altitude_max = "altitude max : {:n}".format(altitude_max)
plt.text(0, altitude_max, Comm_altitude_max)
Comm_temps_de_vol = "temps de vol : {:n} itérations".format(len(suite_Syracuse))
plt.text(0, 0.95 * altitude_max, Comm_temps_de_vol)
plt.show()