Добавление чисел в определенный набор и печать его на Python - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь ввести 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 голосов
/ 20 марта 2019

Я думаю, что существует некоторая путаница в том, что на самом деле делает set.Я предполагаю, что вы хотите сделать предопределенный набор длины 5. При выполнении:

set(5)

вы получите:

 TypeError: 'int' object is not iterable

, потому что вы пытаетесь создать набор, содержащий только целое число5. Если вы хотите сделать set из этого, вам нужно будет включить итерацию, возможно, вот так:

set((5,))

Out: {5}

Но я бы порекомендовал вам сделать следующее: объявить

a = []  # create an empty list

и запустите свой код.В конце я набрал бы set, набрав

a = set(a)

Надеюсь, это было полезно для вас!Веселого программирования!:)

0 голосов
/ 20 марта 2019

Вы не можете фиксировать размер набора при создании.

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...