Loading...
PetarMatev avatar PetarMatev 2 Точки

02. Programming Fundamentals Final Exam - 3. Plant Discovery:

Някой да е решил за 100/100 тази задача? Мисля че проблема за мен идва от тези проверки за всяка команда.  Note: If any of the command is invalid, print "error" 

Решението ми: за 50/100

https://pastebin.com/kbCH4tDR

 

Programming Fundamentals Final Exam 09.08.2020

Problem 3. Plant Discovery

On the first line you will receive a number n. On the next n lines, you will be given some information about the plants that you have discovered in the format: "{plant}<->{rarity}". Store that information, because you will need it later. If you receive a plant more than once, update its rarity. Check properties.

After that until you receive the command "Exhibition" you will be given some of these commands:

  • Rate: {plant} - {rating}add the given rating to the plant (store all ratings)
  • Update: {plant} - {new_rarity}update the rarity of the plant with the new one
  • Reset: {plant}remove all the ratings of the given plant

Note: If any of the command is invalid, print "error"

After the command "Exhibition" print the information that you have about the plants in the following format:

Plants for the exhibition:
- {plant_name}; Rarity: {rarity}; Rating: {average_rating formatted to the 2nd digit}

The plants should be sorted by rarity descending, then by average rating descending

Input

Output

3

Arnoldii<->4

Woodii<->7

Welwitschia<->2

Rate: Woodii - 10

Rate: Welwitschia - 7

Rate: Arnoldii - 3

Rate: Woodii - 5

Update: Woodii - 5

Reset: Arnoldii

Exhibition

Plants for the exhibition:

- Woodii; Rarity: 5; Rating: 7.50

- Arnoldii; Rarity: 4; Rating: 0.00

- Welwitschia; Rarity: 2; Rating: 7.00

2

Candelabra<->10

Oahu<->10

Rate: Oahu - 7

Rate: Candelabra - 6

Exhibition

Plants for the exhibition:

- Oahu; Rarity: 10; Rating: 7.00

- Candelabra; Rarity: 10; Rating: 6.00

 

Тагове:
0
Python Fundamentals
icowwww avatar icowwww 2802 Точки

Здравей,

За грешните тестове с Runtime error проблема е, че може да да нямаш подадена команда Rate- и в този случай нямаш нито един рейтинг и не можеш да ги сортираш. Затова дабавих една проверка за дължината, за да слага нула ако няма rating въобще. Така стана до 87/100

if len(value) == 1:
    value.append(0)

За да стигнеш и до 100/100 трябва да направиш промяна в Reset. Да изтриеш реда, в който добавя рейтинг 0, защото при следваш получен рейтинг 10 те ще станат  0 и 15- съответно средния ще се получи 5, а не 10. ред 44

Пускам цялото решение: https://pastebin.com/x1xrLgbv

1
22/06/2021 22:54:05
PetarMatev avatar PetarMatev 2 Точки

Благодаря за кода и най-вече за обяснението! :) 

1
LidiaIvanova avatar LidiaIvanova 3 Точки

Много полезно обяснение.

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.