I found a work around for the terminal it appears that the message in
the input("message")  was being assigned to the next variable making
Matrix=error=alpha

It's good to see that you got this working. Just a couple notes:

1) Regarding your comment above, it just *looks* like it was doing an assignment because of the "=" that you had for the Matrix and error prompt strings. If you had used the prompt "?" instead, the first line of the file would have been "???". One way you could also get around this is being interpreted in your program is to print a "#" before doing any input:

###
print "#", # note the comma which keeps the output on the same line.
Matrix = input("Matrix=")
error = input("error=")
alpha = input("alpha=")
###

This would produce "# Matrix=error=alpha=" in your redirected output.

2) Also, it is possible to do a "redirect" from the IDE by just opening a file and then redirecting output to this file:

#----------------------------------------------------------------------- --------------
# normal output
fav_number = input("What is your favorite number?")


# output redirected to file
import sys
file_name = 'myCode.py'
file = open(file_name, 'w') #careful; this overwrites an already existing file
old_stdout = sys.stdout #let's remember where we *were* sending output
sys.stdout = file #now everything that gets printed will go the the file


print "print 'my favorite number is',",fav_number

file.close()                    #close the file
sys.stdout = old_stdout         #restore the output

# normal output again
print "Now open and run",file_name
#----------------------------------------------------------------------- --------------
'''--the output--
What is your favorite number?42
Now open and run myCode.py
--end output--'''


In the file that was created there is a single line that, for this case, says

###
print 'my favorite number is', 42
###

If it starts to get tricky keeping track of what is being printed to the program, you might want to check out the string interpolation module that allows you to substitute in variables from your main script just by putting a $ before the variable name in a string (e.g.
this:
printpl("print 'The favorite number is $fav_number'")
will make (with the input from above):
print 'The favorite number is 42'


The module and demos are at http://lfw.org/python/Itpl.py

Best regards,
/c

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to