Мне нужно создать программу Python, которая помещает high_priority_order = "Order B" в Schedule_table, следуя следующей логике:
Это означает, что мне нужно добавить 2 часа подряд в столбце «Машина 3» таблицы Schedule_table,
затем добавьте 2 часа подряд в столбец «Машина 2» таблицы Schedule_table,< /p>
затем добавьте 3 часа подряд в столбец «Машина 4» таблицы Schedule_table,
а затем добавьте 1 час в столбец «Машина 1" столбца Schedule_table.
j_column_order = [['Machine 3', 2], ['Machine 2', 2], ['Machine 4', 3], ['Machine 1', 1]]
и другие необходимые данные...
# What should be filled into the cells of the schedule_table
highest_priority_order = "Order B"
# The table where the cells should be filled in the available spaces
schedule_table = [
['Hour', 'Machine 1', 'Machine 2', 'Machine 3', 'Machine 4', 'Deadline'],
[1, 'Order A', None, None, None, None],
[2, 'Order A', None, None, None, None],
[3, 'Order A', None, None, None, None],
[4, None, 'Order A', None, None, None],
[5, None, 'Order A', None, None, None],
[6, None, None, 'Order A', None, None],
[7, None, None, 'Order A', None, None],
[8, None, None, None, 'Order A', None],
[9, None, None, None, None, None],
[10, None, None, None, None, 'Order A'],
[11, None, None, None, None, 'Order B'],
[12, None, None, None, None, None],
[13, None, None, None, None, 'Order C'],
[14, None, None, None, None, 'Order D'],
[15, None, None, None, None, None]
]
Поместите часы в ячейки, где указано «Нет», в соответствующих столбцах машин, указанных в j_column_order, гарантируя, что часы для каждого показания могут быть размещены последовательно в указанном столбце.
schedule_table = [
['Hour', 'Machine 1', 'Machine 2', 'Machine 3', 'Machine 4', 'Deadline'],
[1, 'Order A', None, 'Order B', None, None],
[2, 'Order A', None, 'Order B', None, None],
[3, 'Order A', None, None, None, None],
[4, None, 'Order A', None, None, None],
[5, None, 'Order A', None, None, None],
[6, None, 'Order B', 'Order A', None, None],
[7, None, 'Order B', 'Order A', None, None],
[8, None, None, None, 'Order A', None],
[9, None, None, None, 'Order B', None],
[10, None, None, None, 'Order B', 'Order A'],
[11, None, None, None, 'Order B', 'Order B'],
[12, None, None, None, None, None],
[13, None, None, None, None, 'Order C'],
[14, None, None, None, None, 'Order D'],
[15, None, None, None, None, None]
]
Это мой код:
# Definition of the order in which the order should be added
machine_column_order = [['Machine 3', 2], ['Machine 2', 2], ['Machine 4', 3], ['Machine 1', 1]]
def place_order(table, machine_column_order, order):
current_hour = 1 # Start from the first row after the header
for machine, hours_needed in machine_column_order:
column = table[0].index(machine) # Find the index of the machine column
assigned_hours = 0 # Counter for consecutive assigned hours
while assigned_hours < hours_needed and current_hour < len(table):
# If the cell is empty at that hour, assign the order
if table[current_hour][column] is None:
table[current_hour][column] = order
assigned_hours += 1
# Move to the next hour
current_hour += 1
# Call the function to place "Order B"
place_order(schedule_table, machine_column_order, priority_order)
# Print the updated schedule table
for row in schedule_table: print(row)
Вывод неверен, поскольку, хотя он и предотвращает одновременное назначение «Заказа B» разным машинам, часы для каждого заказа не являются последовательными. Например, в столбце "Машина 2" предполагалось разместить "Заказ Б" на 2 часа подряд ['Машина 2', 2], а здесь они не идут подряд :
[3, 'Order A', 'Order B', None, None, None]
[4, None, 'Order A', None, None, None]
[5, None, 'Order A', None, None, None]
[6, None, 'Order B', 'Order A', None, None]
Подробнее здесь: https://stackoverflow.com/questions/790 ... ble-column
Исправление логики размещения последовательных элементов в столбце таблицы списка. ⇐ Python
Программы на Python
1727468192
Anonymous
Мне нужно создать программу Python, которая помещает high_priority_order = "Order B" в Schedule_table, следуя следующей логике:
Это означает, что мне нужно добавить 2 часа подряд в столбце «Машина 3» таблицы Schedule_table,
затем добавьте 2 часа подряд в столбец «Машина 2» таблицы Schedule_table,< /p>
затем добавьте 3 часа подряд в столбец «Машина 4» таблицы Schedule_table,
а затем добавьте 1 час в столбец «Машина 1" столбца Schedule_table.
j_column_order = [['Machine 3', 2], ['Machine 2', 2], ['Machine 4', 3], ['Machine 1', 1]]
и другие необходимые данные...
# What should be filled into the cells of the schedule_table
highest_priority_order = "Order B"
# The table where the cells should be filled in the available spaces
schedule_table = [
['Hour', 'Machine 1', 'Machine 2', 'Machine 3', 'Machine 4', 'Deadline'],
[1, 'Order A', None, None, None, None],
[2, 'Order A', None, None, None, None],
[3, 'Order A', None, None, None, None],
[4, None, 'Order A', None, None, None],
[5, None, 'Order A', None, None, None],
[6, None, None, 'Order A', None, None],
[7, None, None, 'Order A', None, None],
[8, None, None, None, 'Order A', None],
[9, None, None, None, None, None],
[10, None, None, None, None, 'Order A'],
[11, None, None, None, None, 'Order B'],
[12, None, None, None, None, None],
[13, None, None, None, None, 'Order C'],
[14, None, None, None, None, 'Order D'],
[15, None, None, None, None, None]
]
Поместите часы в ячейки, где указано «Нет», в соответствующих столбцах машин, указанных в j_column_order, гарантируя, что часы для каждого показания могут быть размещены последовательно в указанном столбце.
schedule_table = [
['Hour', 'Machine 1', 'Machine 2', 'Machine 3', 'Machine 4', 'Deadline'],
[1, 'Order A', None, 'Order B', None, None],
[2, 'Order A', None, 'Order B', None, None],
[3, 'Order A', None, None, None, None],
[4, None, 'Order A', None, None, None],
[5, None, 'Order A', None, None, None],
[6, None, 'Order B', 'Order A', None, None],
[7, None, 'Order B', 'Order A', None, None],
[8, None, None, None, 'Order A', None],
[9, None, None, None, 'Order B', None],
[10, None, None, None, 'Order B', 'Order A'],
[11, None, None, None, 'Order B', 'Order B'],
[12, None, None, None, None, None],
[13, None, None, None, None, 'Order C'],
[14, None, None, None, None, 'Order D'],
[15, None, None, None, None, None]
]
Это мой код:
# Definition of the order in which the order should be added
machine_column_order = [['Machine 3', 2], ['Machine 2', 2], ['Machine 4', 3], ['Machine 1', 1]]
def place_order(table, machine_column_order, order):
current_hour = 1 # Start from the first row after the header
for machine, hours_needed in machine_column_order:
column = table[0].index(machine) # Find the index of the machine column
assigned_hours = 0 # Counter for consecutive assigned hours
while assigned_hours < hours_needed and current_hour < len(table):
# If the cell is empty at that hour, assign the order
if table[current_hour][column] is None:
table[current_hour][column] = order
assigned_hours += 1
# Move to the next hour
current_hour += 1
# Call the function to place "Order B"
place_order(schedule_table, machine_column_order, priority_order)
# Print the updated schedule table
for row in schedule_table: print(row)
Вывод неверен, поскольку, хотя он и предотвращает одновременное назначение «Заказа B» разным машинам, часы для каждого заказа не являются последовательными. Например, в столбце "Машина 2" предполагалось разместить "Заказ Б" на 2 часа подряд ['Машина 2', 2], а здесь они не идут подряд :
[3, 'Order A', 'Order B', None, None, None]
[4, None, 'Order A', None, None, None]
[5, None, 'Order A', None, None, None]
[6, None, 'Order B', 'Order A', None, None]
Подробнее здесь: [url]https://stackoverflow.com/questions/79032594/fixing-logic-toplace-consecutive-elements-in-a-list-table-column[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия