titou_hello
Messages postés24Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention10 novembre 2008
-
4 nov. 2008 à 18:09
Utilisateur anonyme -
7 nov. 2008 à 20:34
Bonjour,
je debute aujourd'hui en python et je m'essaie a un petit programme de maths.
101vector est un petit projet pour le calcul vectoriel dans une dimension 'n', les coordonees de vecteurs sont aleatoires et depende de la dimension.
voici ou j'en suis, le code ne me met plus d'erreur, s'execute mais j'ai du oublier quelque chose, ca n'a pas l'air de passer par le main. :(
Voici donc mon code:
#!/usr/bin/python
##########################
## beneva_a@epitech.net |
## |
## :: 101vector :: |
## -----------------------
import sys,re,os,pwd,random
os.system('reset')
class calcul:
def random(self):
random, randint(-9,9)
def addition(self, dim):
x = 0
# On ajoute n fois des coordonnees aleatoires
# dans une liste de la taille de la dimension
while x <= dim:
a_list[x] = self.random
x = x + 1
x = 0
while x <= dim:
b_list[x] = self.random
x = x + 1
x = 0
# On ajoute A a B
while x <= dim:
res_list[x] = a_list[x] + b_list[x]
x = x + 1
# On imprime les listes
print "Valeur de A: |", a_list
print "Valeur de B: |", b_list
print "Valeur de A + B: |", res_list
def multiplication(self, dim):
x = 0
# On ajoute n fois des coordonnees aleatoires
# dans une liste de la taille de la dimension
while x <= dim:
a_list[x] = self.random
x = x + 1
x = 0
while x <= dim:
b_list[x] = self.random
x = x + 1
x = 0
# On ajoute A a B
while x <= dim:
res_list[x] = a_list[x] * b_list[x]
x = x + 1
# On imprime les listes
print "Valeur de A: |", a_list
print "Valeur de B: |", b_list
print "Valeur de A + B: |", res_list
def help():
print "Aide"
print "USAGE: ./101vector [-commande] <dimension>"
print "Liste des commandes:"
print " -addition -> addition de deux vecteurs aleatoires de dimension n"
print " -multiplication -> multiplication de deux vecteurs aleatoires de dimension n"
print "Dimension: correspond a un nombre n"
sys.exit()
def main():
print " ___________ ____ __ "
print "/_ \ _ \/_ |__ __ ____ _____/ |_ ___________ "
print " | / / \ \| \ \/ // __ \_/ ___\ __\/ _ \_ __ \ "
print " | \ \_/ \ |\ /\ ___/\ \___| | ( <_> ) | \/ "
print " |___|\_____ /___| \_/ \___ >\___ >__| \____/|__| "
print " \/ \/ \/ "
if len(sys.argv) == 1:
print "USAGE: 101vector.py [-commande] <dimension>"
sys.exit()
calc = calcul()
if '-addition' in sys.argv[1]:
calc.addition(sys.argv[2])
if '-multiplication' in sys.argv[1]:
calc.multiplication(sys.argv[2])
if '-help' in sys.argv[1]:
help()
if __name__ == "__main__":
main()
Non une classe est inutile en effet mais possible.
Cependant programmer en objet de suite me semble rapide. Pour démarrer vaut mieux s'habituer à trouver la solution la plus simple pour résoudre ton problème.
Celle que tu proposes me semble compliqué.
Au départ je te conseillerais de faire du calcul vectoriel seulement avec les additions et en 2 dimensions puis par la suite dans l'espace.
titou_hello
Messages postés24Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention10 novembre 2008 5 nov. 2008 à 20:57
Desole a ce moment si il n'y en avait pas, maintenant j'ai ce message.
File "./101vector.py", line 92, in <module>
main()
File "./101vector.py", line 85, in main
calc.addition(sys.argv[2])
File "./101vector.py", line 25, in addition
self.a_list[x] = self.random
AttributeError: calcul instance has no attribute 'a_list'
Si quelqu'un pouvait me faire un petit cours sur les tableaux ca serait cool :)
titou_hello
Messages postés24Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention10 novembre 2008 7 nov. 2008 à 10:13
La ligne de commande pour l'executer est:
./101vector -addition 2
Cela fonctionne pour: ./101vector.py (sans argument) et ./101vector.py -help
Pour le main c'est bon c'est changer, je viens de voir que j'attaque tout de suite avec une class mais est ce que c'est vraiment utile? ou de simple fonction suffirait elle?
Nouvelles erreurs:
Traceback (most recent call last):
File "./101vector.py", line 85, in <module>
calc.addition(sys.argv[2])
File "./101vector.py", line 25, in addition
self.a_list[x] = self.random
AttributeError: calcul instance has no attribute 'a_list'
titou_hello
Messages postés24Date d'inscriptionjeudi 13 avril 2006StatutMembreDernière intervention10 novembre 2008 7 nov. 2008 à 20:20
C'est vrai c'est du rapide, j'ai pris le language un peu a la legere mais j'aimerais l'approfondir.
J'ai coder ce projet en C, il est a rendre dans une ou deux semaines, j'aurais peut etre le temps de le coder en python.
Merci encore pour ton temps, je reposterais surement, merci.