• Как написать исправить этот код?

    Vindicar
    @Vindicar
    RTFM!
    Ну во-первых, обычно не имеет смысл объявлять функции из одного оператора, особенно если они вызываются лишь однажды. Это только усложняет код.
    Во-вторых, строка rub = 'рубль' or 'рублей' or 'рубля' не имеет ни смысла, ни эффекта. Просто убери её.
    В-третьих, чтобы определить последнюю цифру (две) достаточно операции деления с остатком на 10 (100). Делить число нацело не требуется.
    В-четвёртых, составь сначала алгоритм словами:
    если две последние цифры 11, 12, 13, 14 или последняя цифра 0, 5, 6, 7, 8, 9 - "рублей"
    иначе если последняя цифра 2, 3, 4 - "рубля",
    иначе - "рубль"

    Можно проверить вхождение значения в список так:
    if last_digit in (0, 5, 6, 7, 8, 9):
        ...

    Это удобнее, чем цепочка or.

    Дальше на питон перепишешь сам.
    Ответ написан
    5 комментариев