如何在Python中添加原始输入值?

时间:2014-04-13 14:54:26

标签: python input add

我试图将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

3 个答案:

答案 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_inputstr

>>> '2'+'2'
'22'
>>> int('2')+int('2')
4

答案 2 :(得分:0)

缺少一个右括号:

arms = int(raw_input(“您有多少武器?”)

                                                    ^

arms = int(raw_input(“您有多少武器?”))