Top.Mail.Ru
Ответы

Помогите решить задачу на Python

Определите количество 12-ричных пятизначных чисел, в записи которых ровно одна цифра 7 и не более трёх цифр с числовым значением, превышающим 8.

Я написал код, вроде всё так, но ответ не тот, подскажите где ошибка.

По дате
По рейтингу
Аватар пользователя
Новичок
3нед
Изменено

Потому что вот это не имеет смысла:

1
a.count("9" or "a" or "b")

Так как выражение "9" or "a" or "b" вернёт "9", потому эта функция только подсчитает число вхождений символа "9".

Аватар пользователя
Ученик
3нед

from itertools import product

count = 0

for s in product("0123456789AB", repeat = 5):

if s.count("7") == 1 and s[0] != "0":

if s.count("9") + s.count("A") + s.count("B") <=3:

count += 1

print(count)

Аватар пользователя
Ученик
3нед

(Ответ от RawMind . ru)

Вот примерный код для этого:

count = 0

for num in range(124, 125):

digits = [int(digit) for digit in np.base_repr(num, base=12)]

if digits.count(7) == 1 and sum(1 for d in digits if d > 8) <= 3:

count += 1

print(count)

Этот код перебирает все пятизначные числа в 12-ричной системе и проверяет условие. Если ваш код отличается от этого, возможно, ошибка связана с неверным подсчетом или неправильными условиями.