"Sylvia DeAguiar" <[email protected]> wrote
The code runs fine on python shell (from run module) but
when I try to execute the program from its file, it always
prints out c, regardless
x = input("a, b, or c:")
...
else:
print ('c')
It looks like IDLE is running Python V3 where as the
shell is picking up Python V2.
If you are using Linux type
$ which python
to check which version. You might want to create
an alias for the two versions or somesuch.
On Windows you may need to set up a different
file association for Python.
The probl;em is with the input() function.
In v2 input() evaluates the string typed by the user
so that in this case it returns the numeric versions
of the input. Thus it never equals the strings used
in your tests. In v3 input() just returns the string
typed by the user.
If you want your code to work in both Python
versions you could explicitly convert the input()
result to a string:
x = str(input("a, b, or c:"))
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor