Создайте x экземпляров класса, используя цикл while - python - PullRequest
0 голосов
/ 06 декабря 2018

Я хочу создать x экземпляров класса на основе пользовательского ввода.Пожалуйста, взгляните на мой код:

class Cut:
    def __init__(self, length, qty):
        self.length = length
        self.qty = qty

qty_cut_lengths = input("How many cutting lengths are there?")
cut_number = 1

while cut_number <= qty_cut_lengths:
    self.length = input("What is the length of " + cut_number + "?")
    self.qty = input("How many pieces will be needed?")
    cut_number += 1

Например, если пользователь вводит 10 , я хотел бы, чтобы код создал 10 экземпляров класса Cut, каждый с соответствующимдлины и кол-воИтак, для первых разрезов, скажем, «клиенту» нужно 5 кусков материала по 30 дюймов.Я хотел бы, чтобы cut1.length = 30, cut1.qty = 5. Тогда, скажем, им нужно 20 штук 15-дюймового материала.cut2.length = 15, cut2.qty = 20. И так далее ... Я не могу найти хороший способ сделать это.Заранее спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Не так далеко от решения.Вам просто нужно создать экземпляры и выполнить некоторые преобразования:

class Cut:
    def __init__(self, length, qty):
        self.length = length
        self.qty = qty

qty_cut_lengths = input("How many cutting lengths are there?")
cuts=[]

for cut_number in range(int(qty_cut_lengths)):
    length = input("What is the length of cut n°" +str(cut_number+1)+"?")
    qty = input("How many pieces will be needed?")
    cuts.append(Cut(int(length),int(qty))) # instance creation and storage
0 голосов
/ 06 декабря 2018

После ввода длины / количества создайте новый срез

cut = new Cut(length, quantity)

и сохраните их в списке

cuts = []
while (cut_number <= qty_cut_lengths):
    ... create cut as above...
    cuts.append(cut)
...