https://pastebin.pl/view/0589b8a6   88/100
Loading...
+ Нов въпрос
MartinBG avatar MartinBG 3853 Точки

Проблемът е в логиката, определяща какво да се отпечата като резултат и по специално случаите, когато броят на туристите е равен на броя свободни места. Например при вход:

4
0

Програмата ще изведе:

There isn't enough space! 0 people in a queue!
4

Вместо:

4

Фикс:

if tourists > 0:
    print(f"There isn't enough space! {tourists} people in a queue!")
elif counter < len(lift):
    print(f"The lift has empty spots!")
      
print(" ".join(lift_list))

 

Ето и алтернативно решение:

people = int(input())

lift = [int(cart) for cart in input().split(" ")]

for i in range(len(lift)):
    can_load = min(4 - lift[i], people)
    lift[i] += can_load
    people -= can_load

if people > 0:
    print(f"There isn't enough space! {people} people in a queue!")
elif len([cart for cart in lift if cart < 4]) > 0:
    print("The lift has empty spots!")

print(" ".join([str(cart) for cart in lift]))

 

1
31/01/2021 00:32:47