从int值中提取某些数字

时间:2019-01-28 04:27:59

标签: python-3.x

我正在尝试将各种形式的数字添加到列表中。

例如,如果我输入3245,我希望列表中显示

["3","2","4","5"]

我尝试使用for语句,但返回的数字范围为0-3244,这是预期的。

任何见识将不胜感激,我是python的新手,正试图自学代码,并重新编写我所有的学校项目,这些项目都是用c语言完成的,将其转换为python。注意:我使用的是python 3,而不是2。

如果有帮助,这是我代码的其余部分。

cc = []

card = int(input("Credit Card: "))

for n in range(card):
    cc.append(n)
print(cc)

3 个答案:

答案 0 :(得分:3)

首先,您应该接受输入数字作为字符串或将其转换为字符串。这样,您就可以解析字符串中的每个字符并将它们添加到列表中。当前,您正在获取数字0-3244,因为您正在循环输入的数字并将循环索引添加到列表中。因此,这应该做您想要的

cc = []

card = input("Credit Card: ") # or str(int(input("Credit Card: ")))
                              # if you want to restrict it to integer

for n in range(len(card)): # loop by number of characters
    cc.append(card[n]) # append each character
print(cc)

答案 1 :(得分:1)

您可以将整数转换为字符串,然后遍历字符串的每个字符,并且在迭代过程中只需追加到cc。

cc = []
card = int(input("Credit Card: "))
for i in str(card):
    cc.append(i)
print(cc)

答案 2 :(得分:0)

a = 3245
b = list(str(a))
print(b)

上面的代码可以将整数转换为字符列表。首先将整数转换为字符串,然后将字符串转换为列表形式。