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

Python - Лекция 3 - 18. *Изписване на число до 100 с думи

Здравейте,

Не мога да разбера къде ми е грешката:

num_list=['zero','one','two','three','four','five','six','seven','eight','nine','ten','eleven','twelve','thirteen','fourteen','fifteen','sixteen','seventeen','eighteen','nineteen','twenty','twenty one','twenty two','twenty three','twenty four','twenty five','twenty six','twenty seven','twenty eight','twenty nine','thirty','thirty one','thirty two','thirty three','thirty four','thirty five','thirty six','thirty seven','thirty eight','thirty nine','forty','forty one','forty two','forty three','forty four','forty five','forty six','forty seven','forty eight','forty nine','fifty','fifty one','fifty two','fifty three','fifty four','fifty five','fifty six','fifty seven','fifty eight','fifty nine','sixty','sixty one','sixty two','sixty three','sixty four','sixty five','sixty six','sixty seven','sixty eight','sixty nine','seventy','seventy one','seventy two','seventy three','seventy four','seventy five','seventy six','seventy seven','seventy eight','seventy nine','eighty','eighty one','eighty two','eighty three','eighty four','eighty five','eighty six','eighty seven','eighty eight','eighty nine','ninety','ninety one','ninety two','ninety three','ninety four','ninety five','ninety six','ninety seven','ninety eight','ninety nine','hundred']

a=int(input())
 
if abs(a)<=100:
    print (num_list[abs(a)])
     
else:
    pass

JUDGE дава 84 / 100 точки, като тестовете от [22..25] дават Test #... (Incorrect answer).

Очевидно, при проверка стринговете не съвпадат. Някой има ли идея? Благодаря предварително!

Тагове:
0
Python 27/05/2017 12:17:23
alexlitchev avatar alexlitchev 2 Точки

Благодаря на всички!

Грешката се оказа последната дума в листа:

"hundred" трябва да е "one hundred" (специални благодарности на koksibg !!!), в чийто код видях разликата.

В общия случай липсата на детайлен "OUTPUT" от JUDGE направо къса глави. Не знам какво ще правим на изпита, ако се закучи така...

1
pbachev avatar pbachev 0 Точки

Колега и аз се сблъсках със същия проблем в намирането на решение (грешки в тестове 23-25, може ли да споделиш решението на задачата, т.е. да дадеш верния код?

Благодаря

0
alexlitchev avatar alexlitchev 2 Точки

Ето кодът: https://pastebin.com/k3pMGwk0

Има много решения в нета на тая задача. Моето е опростачено и съобразено с темата на лекцията. Идеята е при въвеждане на число, то да се използва за индексиране в лист, като по този начин се извиква стринг (в случая името на числото), намиращ се на тази позиция в поредицата.

Целият проблем при тази задача се състои в две неща, които не са споменати в условието:

1. Трябва да направиш проверка за валидност на въведените числа - т.е. 0...100 и при невалидност да принтнеш "invalid number" (това не го пише и не се разбира от детайлите в JUDGE);

2. При подаване на 100 трябва да се изпише "one hundred". Аз бях започнал с "hundred" и си скъсах нервите, докато открия какъв е проблемът. Отново няма как да видиш това в детайлите на JUDGE -  там просто пише Incorrect Answer.

0
pbachev avatar pbachev 0 Точки

Благодаря, колега.

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