I am changing the subject line to one that is more explicit.
On 2/10/2013 3:29 PM, Ghadir Ghasemi wrote:
elif choice not in '1' or '2' or '3':
print("Invalid input-try again!")
This works, but not for the reasons you had in mind.
For experiment, try:
>>> '1' or '2' or '3'
'1'
>>> '3' or'2' or '1'
'3'
>>> '1' not in '1' or '2' or '3'
'2'
It is easy to stare at this and say "huh"? or "that makes no sense".
Instead read up on "in", "or" and "operator precedence" until you do
understand it.
From the Language Reference:
5:9 The operators in and not in test for collection membership. x in s
evaluates to true if x is a member of the collection s
5:10 The expression x or y first evaluates x; if x is true, its value is
returned; otherwise, y is evaluated and the resulting value is returned.
5:15 for operator precedence
Also realize that all you need at the end is:
else:
print("Invalid input-try again!")
For checking an item against several possibilities:
elif choice not in ('1', '2', '3'):
--
Bob Gailer
919-636-4239
Chapel Hill NC
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor