need to extend this C code so that it initiates this python script (python C api)

2011-07-02 Thread aregee
hi i need help with extending this http://paste.pound-python.org/show/8918/
c code so that it can initiate this python script 
http://paste.pound-python.org/show/8917/
and export file path here..

btw I tried to run following python code :

#include  //changed this to python2.7/Python.h
didn't work the I changed it to Python.h
  // Error msg : fatal
error: Python.h : no file or directory compilation terminated
 //python-dev and
python2.7-dev is already installed.

void process_expression(char* filename,
int num,
char** exp)
{
FILE*   exp_file;

// Initialize a global variable for
// display of expression results
PyRun_SimpleString("x = 0");

// Open and execute the file of
// functions to be made available
// to user expressions
exp_file = fopen(filename, "r");
PyRun_SimpleFile(exp_file, exp);

// Iterate through the expressions
// and execute them
while(num--) {
PyRun_SimpleString(*exp++);
PyRun_SimpleString("print x");
}
}

int main(int argc, char** argv)
{
Py_Initialize();

if(argc != 3) {
printf("Usage: %s FILENAME EXPRESSION+\n");
return 1;
}
process_expression(argv[1], argc - 1, argv + 2);
return 0;
}


thanks
aregee
Ar
-- 
http://mail.python.org/mailman/listinfo/python-list


compute the double square...... :(

2011-01-08 Thread aregee

Double Squares
A double-square number is an integer X which can be expressed as the
sum of two perfect squares. For example, 10 is a double-square because
10 = 32 + 12. Your task in this problem is, given X, determine the
number of ways in which it can be written as the sum of two squares.
For example, 10 can only be written as 32 + 12 (we don't count 12 + 32
as being different). On the other hand, 25 can be written as 52 + 02
or as 42 + 32.

Input
You should first read an integer N, the number of test cases. The next
N lines will contain N values of X.
Constraints
0 ≤ X ≤ 2147483647
1 ≤ N ≤ 100
Output
For each value of X, you should output the number of ways to write X
as the sum of two square

Is the code mention below solution to this question  what is the
fault...
Error :
are...@aregee-laptop:~/Desktop$ python pie.py
enter a number::10
pie.py:3: Deprecation Warning: integer argument expected, got float
  for b in range(0,(x**0.5)/2):

#Double square

x = input("enter a number::")
for b in range(0,(x**0.5)/2):
  a = (x-(b**2))**0.5
try:
  a = int(a)
except:
  print("not an integer")
  exit(1)

  count = 0;
  count = count + 1;
if (x == a**2 + b**2):

  print "double square"
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: compute the double square...... :(

2011-01-09 Thread aregee
hey all thanks for yr help,i got it right .n sorry for
confussions...i m very new to python...just started learning it couple
of days ago...

Ian Kelly wrote:
> On 1/8/2011 11:10 PM, aregee wrote:
> > pie.py:3: Deprecation Warning: integer argument expected, got float
> >for b in range(0,(x**0.5)/2):
>
> I expect you want range(0, int((x / 2) ** 0.5) + 1), no?
>
> > for b in range(0,(x**0.5)/2):
> >a = (x-(b**2))**0.5
> > try:
> >a = int(a)
> > except:
> >print("not an integer")
> >exit(1)
>
> Your indentation is confusing.  Is the try-except contained inside the
> for loop or not?
>
> And what are you actually trying to test for here?  The assignment here
> of "a = int(a)" will never throw an exception as long as the loop runs.
>
> >
> >count = 0;
> >count = count + 1;
>
> Again, confusing indentation.  Is this supposed to be part of the except
> block?  And what is the purpose of incrementing count if you're going to
> set it to 0 immediately before?  You might as well just write "count = 1"
>
> > if (x == a**2 + b**2):
> >
> >print "double square"
>
> This also appears to be outside of the loop.
-- 
http://mail.python.org/mailman/listinfo/python-list