在已定义的集合中添加数字并在Python中进行打印

时间:2019-03-20 12:14:20

标签: python arrays set

我试图输入定义的长度集中的5个数字,并尝试打印出这些数字,但是它给出了“ TypeError:'int'对象不可迭代”的错误。

print("enter 5 numbers")
a=set(5)
for i in range(0,5):
    a.append(int(input("enter a number")))
for i in range(0,5):
    print("numbers in array are",a[i])

2 个答案:

答案 0 :(得分:0)

创建时无法固定设置的大小。

a = set(5)是错误的根源。

此外,集合没有append方法。您应该使用a.add("data")将元素添加到集合中。

为确保集合的大小不超过特定长度,您可以尝试类似的操作

fixed_length = 3
a=set()
for i in range(0,5):
    if len(a) == fixed_length:
        break
    else:
        a.add(int(input("enter a number")))

for index, element in enumerate(a):
    print("numbers in array are", element)

答案 1 :(得分:0)

我认为set的实际用途有些混乱。我假设您要设置一组预定义的长度5。在执行此操作时:

set(5)

您得到:

 TypeError: 'int' object is not iterable

因为您要创建一个仅包含整数5的集合。如果要从中创建一个set,则必须包括一个可迭代的,也许像这样:

set((5,))

Out: {5}

但是我建议您做的是声明

a = []  # create an empty list

,然后运行您的代码。最后,我将输入{p>

set

希望这对您有所帮助!祝您编码愉快! :)