need to extend this C code so that it initiates this python script (python C api)
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...... :(
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...... :(
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