priority = [ 2, 6, 1, 7, 10, 8, 5]
time = [30,200,20,70,120,60, 150]
#
# define number of tasks: don't hardwire this but rather use the len() command
n_tasks = len(priority)
max_time = 480
print ( f"TASK PRIORITY TIME TO COMPLETE")
# you need to add an appropriate for loop here and modify the next print statement so that you can print out all tasks
for n in range(0,n_tasks):
print (f" {[n]} {priority[n]} {time[n]}")
TASK PRIORITY TIME TO COMPLETE
[0] 2 30
[1] 6 200
[2] 1 20
[3] 7 70
[4] 10 120
[5] 8 60
[6] 5 150
test_list = [ 4, 5, 3, 7, 11, 2]
max_value = max(test_list) # use function max() to find maximum value in list
max_index = test_list.index(max_value) # use method list.index () to find the index where this max occurs
print (f"Max value: {max_value}, Occurs at index: {max_index}") # print out results in formatted statement
Max value: 11, Occurs at index: 4
test_list = [ 4, 5, 3, 7, 11, 2]
time_list = [30, 45, 20, 120, 90, 70 ]
max_value = max(test_list)
max_index = test_list.index(max_value)
task_time = time_list[max_index] # input the time it takes to complete this task
print (f"Max value: {max_value}, Occurs at index: {max_index}, Time to complete the task is: {task_time} minutes." ) # print out values as in Step #2 plus the time it takes to complete task
Max value: 11, Occurs at index: 4, Time to complete the task is: 90 minutes.
max_time = 6 * 60 # this is not the maximum time available for your example but rather for testing
time_used = 3 * 60
#
# Following 6 statements are from Step 3
test_list = [ 4, 5, 3, 7, 11, 2]
time_list = [30, 45, 20, 120, 90, 70 ]
max_value = max(test_list)
max_index = test_list.index(max_value)
task_time = time_list[max_index]
print (f"Max value: {max_value}, Occurs at index: {max_index}, Time to complete the task is: {task_time} minutes.")
#
# Add conditional to see if this task can be completed in the allotted time
if ( task_time < max_time ) :
# if conditional is true, i.e., task can be completed update time_used
# add print statements
updated_time = time_used + task_time
print(f"The amount of time remaining is: {updated_time}")
else:
print("Not enough time")
Max value: 11, Occurs at index: 4, Time to complete the task is: 90 minutes.
The amount of time remaining is: 270
# Input problem specific data and print it out from Step 1
priority = [ 2, 6, 1, 7, 10, 8, 5]
time = [30,200,20,70,120,60, 150]
n_tasks = len(priority)
max_time = 480
total_time = 0
currentTime = 0
print ( f"TASK PRIORITY TIME TO COMPLETE")
#
# Initialize any variables before loop
#
# add for loop to go through all tasks
#
for n in range(0,n_tasks):
Max_Prio = max(priority)
indexMax = priority.index(Max_Prio)
time2 = time[indexMax]
total_time = total_time + time2
print (f" {n + 1} {Max_Prio} {time2}")
if (currentTime + time2 <= max_time):
currentTime = currentTime + time2
print(f"Completed in {time2} minutes, Priority {Max_Prio}, Reamining time: {max_time-currentTime}")
else:
print(f"Task {n + 1} cannot be completed in time." )
priority[indexMax] = 0
print(f"Time used for all tasks in day 1: {total_time}")
# find highest priority left and task number it corresponds to from Step 3/4
#
# zero out this entry in the priority list so you won't find it again
#
# add conditional to check to see if task can be completed as in Step 4
#
# Print out the total time used for all tasks in day 1
TASK PRIORITY TIME TO COMPLETE
1 10 120
Completed in 120 minutes, Priority 10, Reamining time: 360
2 8 60
Completed in 60 minutes, Priority 8, Reamining time: 300
3 7 70
Completed in 70 minutes, Priority 7, Reamining time: 230
4 6 200
Completed in 200 minutes, Priority 6, Reamining time: 30
5 5 150
Task 5 cannot be completed in time.
6 2 30
Completed in 30 minutes, Priority 2, Reamining time: 0
7 1 20
Task 7 cannot be completed in time.
Time used for all tasks in day 1: 650
priority = [ 2, 6, 1, 7, 10, 8, 5]
time = [30,200,20,70,120,60, 150]
n_tasks = len(priority)
max_time = 480
total_time = 0
currentTime = 0
print ( f"TASK PRIORITY TIME TO COMPLETE")
#
# Initialize any variables before loop
#
# add for loop to go through all tasks
#
for n in range(0,n_tasks):
Max_Prio = max(priority)
indexMax = priority.index(Max_Prio)
time2 = time[indexMax]
total_time = total_time + time2
print (f" {n + 1} {Max_Prio} {time2}")
if (currentTime + time2 <= max_time):
currentTime = currentTime + time2
print(f"Completed in {time2} minutes, Priority {Max_Prio}, Reamining time: {max_time-currentTime}")
if (currentTime == max_time):
break
else:
print(f"Task {n + 1} cannot be completed in time." )
priority[indexMax] = 0
print(f"Time used for all tasks in day 1: {total_time}")
TASK PRIORITY TIME TO COMPLETE
1 10 120
Completed in 120 minutes, Priority 10, Reamining time: 360
2 8 60
Completed in 60 minutes, Priority 8, Reamining time: 300
3 7 70
Completed in 70 minutes, Priority 7, Reamining time: 230
4 6 200
Completed in 200 minutes, Priority 6, Reamining time: 30
5 5 150
Task 5 cannot be completed in time.
6 2 30
Completed in 30 minutes, Priority 2, Reamining time: 0
Time used for all tasks in day 1: 630
# Input problem specific data
old_priority = [ 2, 6, 1, 7, 10, 8, 5]
time = [30,200,20,70,120,60, 150]
# n_tasks =
#
# Create new priority list containing ratios
#
priority = [] # initialize the list which contains the new priorities which are original priority divided by
# time it takes to complete this task
# add for loop to create this list
# use method .append() to create elements of the new priority list
#
# Remainder of code should be the same; this is because we called the new list which contained the ratios the same as
# before.