Python:添加,如何让python将12识别为12而不是3

时间:2013-11-30 20:53:21

标签: python list append add

所以我需要循环继续要求用户键入将被添加在一起的数字,以产生仅在完全达到1001时才会停止的总数。如果它结束,总计将重置为0.当用户输入1然后2它加起来并产生总共3没问题。但是当我输入12时,它会将每个整数相加,并且总共只增加3。有什么想法吗?

# The number list
list = [0]

#Prompt
print "Rules of the game, keep adding numbers to get exactly 1001!"

while True:
    #User input
    numbers = raw_input(" Please enter a number: ")

#Starting total
    total=0

#Add user input to list
    for num in numbers:
        list.append(int(num))

#Add up all numbers in list
    for value in list:
        total += int(value)

    if total < 1001:
        print "Current total:"
        print(total)
    elif total == 1001:
        print "Congratulations, you did it!"
        break
    elif total > 1001:
        total = 0    

1 个答案:

答案 0 :(得分:4)

当你这样做时

numbers = raw_input()

numbers变量是一个字符串,所以稍后在

for num in numbers:
     ...

num变量是字符串“12”中的每个字符,即。 “1”然后“2”

如果您希望他们一次输入多个以空格分隔的数字,您可以

for num in numbers.split():

如果他们只是输入一个数字,那么就没有理由在这里进行迭代,只需使用

my_list.append(int(numbers))