我试图输入定义的长度集中的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])
答案 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
希望这对您有所帮助!祝您编码愉快! :)