Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
379 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 Reply

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...