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]
有人可以指出我的代码有什么问题
答案 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+=1
与i=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'))
它也有效。