Професионална програма
Loading...
vasko_stoev avatar vasko_stoev 0 Точки

4. Cinema While-loop

Здравейте колеги,

Може ли малко помощ за решението на Задача № 4 от изпита "Основи на програмирането" – 15 и 16 юни 2019.

Линк към задачата: https://softuni.bg/downloads/svn/programming-basics-v4/course-directories/september-2019/2019-04/Exam/04.%20Cinema.pdf

Моето решение което ми дава 55/100 в Judge: https://pastebin.com/vH1Ncy7z

Благодаря предварително и поздрави!

Тагове:
0
svephoto avatar svephoto 429 Точки

Здравей, vasko_stoev,

 

Изведи си line = input() преди да влезеш в while-цикъла. Добре е при всяко завъртане (вслучая още от първото, след първия вход) вместо с while True да проверяваш while line != 'Movie time!'. Това спазва едната част на условието - четем команди до 'Movie time!'. А "ако в залата се опитат да влязат повече хора от колкото места са останали, то се счита че местата са изчерпани и програмата трябва да приключи четенето на вход" -> проверяваме с if occupied_seats > capacity_seats и прекратяваме четенето на вход с break и така изпълняваме още една част от условието. Проверката я правим след тази част

count_people = int(line)
occupied_seats += count_people

която слагаме вместо тази

occupied_seats += int(line)
count_people = int(line)

за да ни се получат коректно сметките. После е проверката за count_people % 3 == 0 и след нея пак си прочитаме вход с line = input().

Чак след това преминаваме към финалното печатане:

Проверка за if line == 'Movie time!': и ако да, печатаме

print(f'There are {capacity_seats - occupied_seats} seats left in the cinema.')

а ако не (просто else, понеже другият вариант ни е киното да е пълно), печатаме

print(f'The cinema is full.')

На последния ред си остава

print(f'Cinema income - {total} lv.')

Ако имаш още затруднения, пиши отново и пак ще помагаме. Надявам се да се ориентираш в това, което написах. laugh

 

Успех!

0
26/08/2020 23:33:54