Я пытаюсь создать уравнение, похожее на грязный блок кода, который я сделал, чтобы вычислить счет на основе количества догадок, которые игрок получил в игре на угадывание.
У игрока есть10 попыток.За каждую неудачную попытку умножение очков уменьшается на х.Таким образом, чем больше попыток, тем меньше будет учитываться оценка.
Я пытался подсчитать длину списка догадок, который содержит количество попыток, но это работает в противоположность тому, что я хочу.Это дает игроку больше очков, чем больше он пытается, то использовал.
Я пытался использовать len (догадки [:: - 1]), но это делает то же самое ... очевидно, так как он все еще считаетсянапример, 10 попыток.
Есть идеи, как это сделать?Я подозреваю, что цикл for, но я не смог сделать что-то близкое к работе.
В основном я ищу уравнение или математическое выражение, а не список, дикт и т. Д.делать это.
Например, что-то линейное, как:
Prize = bet * (reversedGuesses *
1.25)
# so that if it took 1 try = 12.5
# and if it took 10 tries = 1.25
Мой текущий грязный, неоптимизированный блок кода:
if tries == 10:
prize = bet * 7
elif tries == 9:
prize = bet * 6
elif tries == 8:
prize = bet * 5
elif tries == 7:
prize = bet * 3.5
elif tries == 6:
prize = bet * 2.75
elif tries == 5:
prize = bet * 2.50
elif tries == 4:
prize = bet * 2.25
elif tries == 3:
prize = bet * 2.0
elif tries == 2:
prize = bet * 1.75
elif tries == 1:
prize = bet * 1.5
Выше очевидно, что работает, но я 'Я уверен, что это может быть сделано более эффективно ...
Я новичок в Python, поэтому объяснение было бы тоже здорово!
Спасибо!