Python Input Does Not Compare Properly
I did this on test today and came back to test it. I know better ways to do this but why is this not working? def f(): e=raw_input('enter number') if e in range (12):
Solution 1:
e is a string and you compare it to an int
do
deff():
e=int(raw_input('enter number'))
if e inrange (12):
print'co'elif e inrange (12,20):
print'co2'elif e inrange (-10,0,1):
print'co3'
f()
instead
Solution 2:
e=raw_input('enter number')
should be e=int(raw_input('enter number'))
Unlike input()
, raw_input()
simply returns the input as a string, irrespective of what the input is. Since range(12)
consists of the integers 0-11 inclusive but e
is not an integer, e
will never be in range(12)
. Thus e
needs to be converted into an integer. Fortunately, there is a built-in function for that: int()
.
Post a Comment for "Python Input Does Not Compare Properly"