附加数组并存储值

时间:2017-10-25 15:39:03

标签: python python-3.x

import array
a=[]
count = 0
while True:
    i=int(input("A number "))
    count = count + 1
    for j in range (0, count):
        a.append(i)
    if (count==3):
        break

输出

[1, 2, 2, 3, 3, 3]  

当我提示程序打印'a'变量时我会想要'a'来存储像

这样的值
[1, 2, 3]  

有人可以指出我的代码有什么问题

6 个答案:

答案 0 :(得分:0)

丢失for循环:

a=[]
count = 0
while count < 3:
    count += 1
    a.append(int(input("A number ")))

答案 1 :(得分:0)

列表中重复值 a 的原因是内部 循环。为了举例说明,请考虑当您输入 1 作为输入时会发生什么,现在输入 2 作为输入。此时,在代码开始执行for循环之前, count 的值为 2 。因此,内部for循环将插入您的输入值,存储在变量 i (在本例中为2)两次。同样,当您输入 3 时,计数的值为 3 ,因此内部for循环将执行三次。

正确的代码应如下:

import array
a=[]
count = 0
while True:
    i=int(input("A number "))
    count = count + 1
    if (count==3):
        break

答案 2 :(得分:0)

您的代码存在的问题是,您需要在每次input number次迭代中再次a while for。这是array循环的错误 此外,您不必导入while 此外,if / break组合是多余的,只需在a = [] count = 0 while count < 3: i = int(input("A number: ")) a.append(i) count += 1 print(a) 循环中设置迭代。

试试这段代码:

[1, 2, 3]

变量A打印:

{{1}}

答案 3 :(得分:0)

删除for循环或只是执行

a=[]
count=3
for i in range(count):
  a.append(int(input("new number: ")))

此处不需要导入数组。 还有一点提示(如果你还不知道的话):i+=1i=i+1相同

答案 4 :(得分:0)

通过播放deshu的答案,您可能还会考虑使用try和except,以便用户可以继续输入数字并提示他是否输入非数字字符。

a = []
count = 0

while count < 3:
    try:
        i = int(input("A number: "))
        a.append(i)
        count += 1
    except:
        print('Enter only a whole number.')

print(a)

答案 5 :(得分:0)

你可以使用追加但以不同的方式:

a = []
count = 0
while True:
 a.append(input("A number "))
 count += 1
 if count == 3:
  break

在您的代码中,您需要附加用户的号码&#39;计数&#39;时间到[],我做的方式,它会追加一次循环。

您也可以使用

for x in range(0,3)
 a.append(input('A number'))

它也有效。