ask help for a proble with invalid syntax

L

leo zhao

I try to a run a python numpy programe, however the python can't run
this program.
my python version is 2.6.2 , numpy version is 1.3.0, however, the
program can run in previous numpy version(1.2.0), who can help me to
solve the problem, I will deeply appreciate!
the program is below:



import sys
import os
from datetime import *
from random import *
from numpy import *
import py4cs.multipleloop as mp


class ConsProd(object):
total_production =[0.0,0.0,0.0]
tech = 1.0
goods =['z','x','y']
def __init__(seld,identifier):
self.identifier = identifier
self.demand_veector = array([0.0,0.0]
if len(G.cps1) > number_of_1individuals:
self.make = ConsProd.goods[0]
self.tech = ConsProd.tech
self.gross_production = (self. tech*G.L,0.0,0.0)
ConsProd.total_production[0] += self.gross_production
[0]
G.cps1[self] = self.gross_production[0]
elif number_of_1individuals >= len(G.cps1) and len(G.cps2) <
number_of_2indibiduals:
self.make = ConsProd.goods[1]
self.tech = ConsProd.tech
self.gross_production = (0.0,self. tech*G.L,0.0)
ConsProd.total_production[1] += self.gross_production
[1]
G.cps2[self] = self.gross_production[0]
else:
self.make = ConsProd.goods[2]
self.tech = ConsProd.tech
self.gross_production = (0.0,0.0,self. tech*G.L)
ConsProd.total_production[2] += self.gross_production
[2]
G.cps3[self] = self.gross_production[2]

the hint is the small window at python:


syntax error:
There' an error in your program: invalid syntax.
 
R

Robert Kern

I try to a run a python numpy programe, however the python can't run
this program.
my python version is 2.6.2 , numpy version is 1.3.0, however, the
program can run in previous numpy version(1.2.0), who can help me to
solve the problem, I will deeply appreciate!
the program is below:
the hint is the small window at python:


syntax error:
There' an error in your program: invalid syntax.

Always copy-and-paste the complete error message. Do not try to paraphrase or
retype the message.

Your problem is this line:

self.demand_veector = array([0.0,0.0]

It should be this:

self.demand_veector = array([0.0,0.0])

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
 
M

MRAB

leo said:
I try to a run a python numpy programe, however the python can't run
this program.
my python version is 2.6.2 , numpy version is 1.3.0, however, the
program can run in previous numpy version(1.2.0), who can help me to
solve the problem, I will deeply appreciate!
the program is below:



import sys
import os
from datetime import *
from random import *
from numpy import *
import py4cs.multipleloop as mp


class ConsProd(object):
total_production =[0.0,0.0,0.0]
tech = 1.0
goods =['z','x','y']
def __init__(seld,identifier):
self.identifier = identifier
self.demand_veector = array([0.0,0.0]

Missing ")".
if len(G.cps1) > number_of_1individuals:
self.make = ConsProd.goods[0]
self.tech = ConsProd.tech
self.gross_production = (self. tech*G.L,0.0,0.0)
ConsProd.total_production[0] += self.gross_production
[0]
G.cps1[self] = self.gross_production[0]
elif number_of_1individuals >= len(G.cps1) and len(G.cps2) <
number_of_2indibiduals:
self.make = ConsProd.goods[1]
self.tech = ConsProd.tech
self.gross_production = (0.0,self. tech*G.L,0.0)
ConsProd.total_production[1] += self.gross_production
[1]
G.cps2[self] = self.gross_production[0]
else:
self.make = ConsProd.goods[2]
self.tech = ConsProd.tech
self.gross_production = (0.0,0.0,self. tech*G.L)
ConsProd.total_production[2] += self.gross_production
[2]
G.cps3[self] = self.gross_production[2]

the hint is the small window at python:


syntax error:
There' an error in your program: invalid syntax.
There are also a number of spelling mistakes.
 
S

Steven D'Aprano

There are also a number of spelling mistakes.

Shame on you MRAB, you'll letting down the fine old Internet tradition
that anytime you point out somebody else's spelling mistakes, you make
more, and worse, errors yourself :)

You should have written:

"There is also a number off speling mistekes."

Don't let it happen agian.


*wink*
 
J

John Machin

I  try to a run a python numpy programe, however the python can't run
this program.
my python version is 2.6.2 , numpy  version is 1.3.0, however, the
program can run in previous numpy version(1.2.0), who can help me to
solve the problem, I will deeply appreciate!
the program is below:

import sys
import os
from datetime import *
from random import *
from numpy import *

Possibly nothing to do with your immediate problem, but 'from amodule
import *' is not recommended ... just import the objects that you
need.

import py4cs.multipleloop as mp

class ConsProd(object):
    total_production =[0.0,0.0,0.0]
    tech = 1.0
    goods =['z','x','y']

Lists as class attributes? Are you sure that that's what you want?
    def __init__(seld,identifier):

Typo above: seld instead of self. This and other problems mentioned
below make it hard to believe this code runs with any version of
anything.
        self.identifier = identifier
        self.demand_veector = array([0.0,0.0]

veector or vector?

You are missing a ")" from the end of the above line. That should
cause a syntax error when it hits the ":" in the next line.
        if len(G.cps1) > number_of_1individuals:

G is not defined.
number_of_1individuals is not defined.
               self.make = ConsProd.goods[0]
               self.tech = ConsProd.tech
               self.gross_production = (self. tech*G.L,0.0,0.0)
               ConsProd.total_production[0] += self.gross_production
[0]
               G.cps1[self] = self.gross_production[0]

self as a dictionary key?? Have supplied a __hash__ method for the
class?
        elif number_of_1individuals >= len(G.cps1) and len(G.cps2) <
number_of_2indibiduals:

number_of_2indibiduals or number_of_2individuals?? In any case,
neither of these is defined.
               self.make = ConsProd.goods[1]
               self.tech = ConsProd.tech
               self.gross_production = (0.0,self. tech*G.L,0.0)
               ConsProd.total_production[1] += self.gross_production
[1]
               G.cps2[self] = self.gross_production[0]
        else:
               self.make = ConsProd.goods[2]
               self.tech = ConsProd.tech
               self.gross_production = (0.0,0.0,self. tech*G.L)
               ConsProd.total_production[2] += self.gross_production
[2]
               G.cps3[self] = self.gross_production[2]

the hint is the small window at python:

What is "the small window at python"??
syntax error:
There' an error in your program: invalid syntax.

I doubt that that is an exact copy of the error message. You haven't
included a copy of the line where the syntax error is alleged to
occur. If you provide an exact copy of the error message etc that you
see on your screen (use copy/paste), we should be able to help you.

Note that if you have a Python syntax error, it is very unlikely that
it would "work" with one version of Numpy and not "work" with another
version -- unless of course you have changed the source code between
Numpy versions.

HTH,
John
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,048
Latest member
verona

Latest Threads

Top