2015-07-01 1 views
0

Я делаю класс для людей и их имен. Я хочу сделать конкретное имя для каждого из них, как:Python - как соединить слово с итерацией

obj0, obj1, obj2 ... + obji

им пытаются сделать это в итерации. Какой знак можно использовать для подключения «obj» и «i»?

for i in range(100): 
    name=input('Your name:') 
    obji=Person(name) 

ответ

0

Предполагая, что вы хотите на самом деле быть вещими (или на самом деле, просто не достаточно безумен, чтобы сделать 100 переменные), вы могли бы сделать list.

obj = [] 
for i in range(100): 
    name=input('Your name:') 
    obj.append(Person(name)) 

Если вы хотите установить размер вашего списка до вашего цикла, так что вы можете получить доступ к нему с i, вы можете сделать что-то вроде этого

obj = [None] * 100 
for i in range(100): 
    name=input('Your name:') 
    obj[i] = Person(name) 
0

Не пытайтесь сделать такие переменные, как это на лету, вместо этого вы можете использовать словарь, например

people = {} 
for i in range(100): 
    name = input('Your name:') 
    people[i] = name 

Тогда вы можете посмотреть их, как

people[7] 

Хотя, если они только собираются быть последовательными, вместо dict вы могли бы просто использовать list

people = [] 
for i in range(100): 
    people.append(input('Your name: ')) 

Вы могли тогда еще искать людей на тот же путь

people[7] 
0

скорее чем пытаться создать отдельные связанные имена, почему бы не включить их в список:

objs=[] 
for i in range(100): 
    name = input("Your Name? ") 
    objs.append(Person(name) 
Смежные вопросы