AmidamaruZXC

Untitled

Feb 26th, 2020
440
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.16 KB | None | 0 0
  1. # Написать функцию two_identical(start, finish), которая определяет количество
  2. # чисел
  3. # в мнтервале между числами start и finish(их не считая), в записи которых есть
  4. # хотя бы две одинаковые цифры.
  5. #
  6. # Примеры:
  7. # max_multiple(20,33) ==> 1 (число 22)
  8. # max_multiple(0,101) ==> 10
  9. import traceback
  10.  
  11.  
  12. def two_identical(start, finish):
  13.     count = 0
  14.     for i in range(start + 1, finish):
  15.         digits = []
  16.         temp = i
  17.         while temp > 0:
  18.             digits.append(temp % 10);
  19.             temp = temp // 10
  20.         digits.sort()
  21.         for j in range(len(digits) - 1):
  22.             if (digits[j] == digits[j + 1]):
  23.                 count += 1
  24.                 break;
  25.     return count
  26.  
  27.  
  28. # Тесты
  29. try:
  30.     assert two_identical(20, 33) == 1
  31.     assert two_identical(0, 10) == 0
  32.     assert two_identical(0, 101) == 10
  33.     assert two_identical(0, 1000) == 261
  34.     assert two_identical(5000, 50000) == 35198
  35. except AssertionError:
  36.     print("TEST ERROR")
  37.     traceback.print_exc()
  38. else:
  39.     print("TEST PASSED")
Advertisement
Add Comment
Please, Sign In to add comment