Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
395 views
in Technique[技术] by (71.8m points)

python - uTypeError: unsupported operand type(s) for -: 'str' and 'str'

I get this error:

uTypeError: unsupported operand type(s) for -: 'str' and 'str'

From this code:

print "what is your name?"  
x=raw_input()
print "Are you woman or man?"
y=raw_input()
print "how old are you?"
z=raw_input()
print "at what age did you or will you first travel in an plane?"
f=raw_input()

print "This is a story about a ",y," named ",x
print z-f ,"years ago",x, " first took an airplane."
print " the end"

Why?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Your variables z and f are strings. Python doesn't support subtracting one string from another string.

If you want to display a number, you're going to have to convert them to either floats or integers:

print int(z) - int(f),"years ago",x, " first took an airplane."

The reason these are strings in the first place is because raw_input always returns a string.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...