编写一个输入三位数的程序,在一行输出数字

时间:2013-03-22 08:16:53

标签: python

我在python上编写一个程序,允许用户输入任意三位数字,并将数字作为单独的数字输出。

这就是我现在所拥有的

val = int(raw_input ("Type your three digit number please:"))

print 'The first digit is {}' .format (val // 100)
print 'The second digit is {}'.format (val % 100)
print 'The third digit is {}'.format (val % 10)`

然而,对于第二个数字,我不知道如何检索它。我知道这个数字不应该是100,因为它会向我返回最后两位数字。

有人可以帮帮我吗?

还有谁知道我会如何继续添加数字?

3 个答案:

答案 0 :(得分:1)

最简单的解决方案是不要将其视为int,我认为:

digits = raw_input("Type your three digit number please")
print(list(digits)) # will print ['1', '2', '3']

答案 1 :(得分:1)

这个怎么样?

val = raw_input("Type your three digit number please: ")

print 'The first digit is {}'.format(val[0])
print 'The second digit is {}'.format(val[1])
print 'The third digit is {}'.format(val[2])

将输入从str更改为int会使数字无法分开,如果您仍希望输入为整数,则可以在int()周围包裹val[],比如int(val[0])

答案 2 :(得分:0)

试试这段代码

val = raw_input ("Type your three digit number please:")#you must type 12 13 14
val=val+" "
list=[]
s=""
for i in val:
    if i!=" ":
        s=s+i
    else:
        list.append(int(s))
        s=""
print list

输出

[12,13,14]