Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

vvalchanov1988 avatar vvalchanov1988 6 Точки

Python 03. Vacation While loop

Здравейте,

Моля за съдействие с тази задача.

Първо я реших сам и премина всички тестове, но Джъдж ми дава 0/100.

После я реших по насоките от Упражнения Насоки, но Джъдж отново дава 0/100.

Моете решение:

vacation_money = float(input())
her_money = float(input())
days_spend = 0
spend = 0
safe = 0
day = 0
while days_spend != 5:
    if her_money == vacation_money:
        break
    command = input()
    sum = float(input())
    day += 1
    if command == 'spend':
        spend = her_money - sum
        days_spend += 1
        if spend <= 0:
            spend = 0
    elif command == 'safe':
        safe = her_money + sum
        days_spend = 0
    her_money = safe - spend
if days_spend == 5:
    print("You can't save the money.")
    print(f'{day}')
if her_money == vacation_money:
    print(f'You saved the money for {day} days.')

Решението от Насоки:

needed_money = float(input())
owned_money = float(input())
days_counter = 0
spending_counter = 0
while owned_money < needed_money and spending_counter < 5:
    command = input()
    money = float(input())
    days_counter += 1
    if command == 'safe':
        owned_money += money
        spnding_counter = 0
    elif command == 'spend':
        owned_money -= money
        spending_counter += 1
        if owned_money < 0:
            owned_money = 0
if spending_counter == 5:
    print("You can't save the money.")
    print(f'{days_counter}')
if owned_money >= needed_money:
    print(f'You saved the money for {days_counter} days.')

Нещо с Джъдж ли не е наред или кода е грешен.

Благодаря Ви за Съдействието!

Приятен ден!

0
m.hrstv avatar m.hrstv 3 Точки

Виждам safe вместо save, на единия принт липсват изминалите дни май. Абе, ако форматираш кода някак, ще е доста по-лесно да се чете. Междувременно, ето ти моето 100/100 решение:

goal = float(input())
balance = float(input())
cons_spendings = 0
days = 0

while balance < goal:
    action = input()
    amount = float(input())
    days += 1
    if action.lower() == "save":
        balance += amount
        cons_spendings = 0
    elif action.lower() == "spend":
        if amount >= balance:
            balance = 0
        else:
            balance -= amount
        cons_spendings += 1
        if cons_spendings == 5:
            break

if balance >= goal:
    print(f"You saved the money for {days} days.")
else:
    print(f"You can't save the money.\n{days}")

 

0
vvalchanov1988 avatar vvalchanov1988 6 Точки

elif command == 'safe':

Изглежда открихме грешката.

 

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