我试图将2个原始输入值加在一起。这是代码:
def number_of_limbs(legs, arms, limbs):
print "You have %s legs O.o" % legs
print "You also have %s arms o.O" % arms
print "You have %r limbs!! O.O" % limbs
legs = int(raw_input("How many legs do you have? "))
arms = int(raw_input("And how many arms do you have? ")
limbs = legs + arms
number_of_limbs(legs, arms, limbs)
它应该问多少条腿,多少条胳膊,然后将它们加在一起。然后告诉如何 总共很多肢体。我在第19课中学习蟒蛇的方式很难,这就是为什么我要做" def"在顶部的事情。我意识到有更简单的方法来做同样的事情,但我试图掌握这个特定事物的概念。
当我跑步时,它说我有2条胳膊,2条腿和22条肢体。如何让它添加腿和手臂,而不是只是将两个数字相互靠近?
现在它只是说
File "ex1.py", line 8
limb = legs + arms
^
SyntaxError: invalid syntax
答案 0 :(得分:4)
将它们转换为整数:
legs = int(raw_input("How many legs do you have? "))
arms = int(raw_input("And how many arms do you have? "))
目前它们是字符串,这是raw_input.
>>> example = raw_input()
2
>>> type(example)
<class 'str'>
当你将两个字符串添加到一起时(就在那里你有'2'
和'2'
),Python只是将它们连接成一个字符串。 (因此,在这种情况下,它将导致'22'
)
>>> '2' + '2'
'22'
现在应该给出正确的结果。
固定版本的最小例子:
>>> legs = int(raw_input())
2
>>> arms = int(raw_input())
2
>>> limbs = legs + arms
>>> limbs
4
您现在可以毫无困难地将其传递给该功能。
答案 1 :(得分:3)
你必须将它们作为整数投射:
legs = int(raw_input("How many legs do you have? "))
arms = int(raw_input("And how many arms do you have? "))
>>> number_of_limbs(legs, arms, limbs)
You have 2 legs O.o
You also have 2 arms o.O
You have 4 limbs!! O.O
这是因为您要添加strings
,当您执行string+string
时,它只是将两个字符串连接在一起。这是因为默认类型raw_input
为str
>>> '2'+'2'
'22'
>>> int('2')+int('2')
4
答案 2 :(得分:0)
缺少一个右括号:
arms = int(raw_input(“您有多少武器?”)
^
arms = int(raw_input(“您有多少武器?”))