Walking
Здравейте,
може ли някой да ми каже къде бъркам с кода на задача 5 Walking от лаба? При условие, че Габи реши да си отиде в къщи преди да е извървяла 10000 стъпки.
Това е кода
steps = input()
counter_steps = 0
goal = 10000
while True:
steps = input()
if steps == "Going home":
steps = int(input())
counter_steps += steps
if counter_steps >= goal:
print("Goal reached! Good job!")
else:
diff = goal - counter_steps
print(f"{diff} more steps to reach goal.")
break
counter_steps += int(steps)
if counter_steps >= goal:
print("Goal reached! Good job!")
break
а принтира следното: 4000 more steps to reach goal.
Здравей mfilipov,
изтрих това което казваш, че е излишно. Но тогава принтира съвсем грешно нещо. Steps= input () според мен трябва да го има за да проверява ако входа е стринг (в случая Going home) но при първия вход от 1500 тези стъпки не се добавят към counter_steps.
Здравей Ива,
ти сигурно си изтрила и двата реда, за това прави така. Изтрий само първия, или още по-добре, промени го на „None“, и би трябвало да работи! Въпреки че, според мене, това не е единственото излишно нещо в този код.
Благодаря с изтриването само на първия ред стана ;)
Може ли да се съкрати още?
Е чак „кой знае колко“ няма как да се съкрати, но не ми харесва, когато има повтарящ се код, при положение, че може да бъде избегнато.
Ето как аз съм я направил, без да имам претенции, че това е оптималното решение: