我收到此错误:
uTypeError:不支持的操作数类型 - :'str'和'str'
从这段代码:
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"
为什么?
答案 0 :(得分:3)
您的变量z
和f
是字符串。 Python不支持从另一个字符串中减去一个字符串。
如果要显示数字,则必须将它们转换为浮点数或整数:
print int(z) - int(f),"years ago",x, " first took an airplane."
首先是这些字符串的原因是因为raw_input
always returns a string。
答案 1 :(得分:2)
raw_input()
返回一个字符串,所以基本上你最终会得到这个:
print '20'-'11'
由于您无法从另一个字符串中减去一个字符串,因此需要先将它们转换为数字。
试试这个:
z = float(raw_input())
...
f = float(raw_input())
其次,使用描述性变量名而不是x,y,z和f,如下所示:
age = float(raw_input())
...
firstPlaneTravelAge = float(raw_input())
print age-firstPlaneTravelAge, ...
另请注意,此代码未经验证,如果用户输入的内容不是数字,则会崩溃。