Создание x экземпляров класса с помощью цикла while - python

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

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, каждый с соответствующей длиной и qtys. Итак, для первых разрезов, скажем, «заказчику» нужно 5 кусков материала по 30 дюймов. Я бы хотел cut1.length = 30, cut1.qty = 5. Тогда, допустим, им нужно 20 кусков 15-дюймового материала. cut2.length = 15, cut2.qty = 20. И так далее ... Я не могу придумать, как это сделать. Заранее спасибо за помощь!

Понимание списка. foos = [ Foo(x) for x in range(15) ]

shrewmouse 06.12.2018 06:14
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
160
2

Ответы 2

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

cut = new Cut(length, quantity)

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

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

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

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

Другие вопросы по теме