misc.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. # Инвертирует строку
  2. from ast import IsNot
  3. def solution(string):
  4. return string[::-1]
  5. # print(solution("qwerty"))
  6. # ------------------------------------------------------------------------------- #
  7. # Убирает все повторяющиеся буквы.
  8. def unique_in_order(iterable):
  9. s = set(iterable)
  10. l = []
  11. for i in iterable:
  12. if i in s:
  13. l.append(i)
  14. s.remove(i)
  15. return l
  16. # print(unique_in_order("qwereteyty"))
  17. # ------------------------------------------------------------------------------- #
  18. # Вывод суммы чисел в двоичном виде без символо '0b'
  19. def add_binary(a,b):
  20. return bin(a + b)[2:]
  21. '''
  22. # Интересное решение
  23. def add_binary(a,b):
  24. return f"{a + b:b}"
  25. '''
  26. # print(add_binary(1, 1))
  27. # ------------------------------------------------------------------------------- #
  28. '''
  29. def find_smallest_int(arr):
  30. min = arr[0]
  31. for i in arr:
  32. if i < min:
  33. min = i
  34. return min
  35. '''
  36. def find_smallest_int(arr):
  37. return min(arr)
  38. # print(find_smallest_int([0, 1-2**64, 2**64]))
  39. # ------------------------------------------------------------------------------- #
  40. # Сумма цифр в стпени равной длине числа должна быть равна самому числу
  41. '''
  42. def narcissistic(value):
  43. number_digits = len(str(value))
  44. new_value = value
  45. sum = 0
  46. digit = 0
  47. for i in range(number_digits - 1, -1, -1):
  48. digit = int(new_value/10**i)
  49. sum += digit**number_digits
  50. new_value -= digit*10**i
  51. return sum == value
  52. '''
  53. # Красивое решение решение
  54. def narcissistic(value):
  55. return value == sum(int(x) ** len(str(value)) for x in str(value))
  56. # print(narcissistic(371))
  57. import string
  58. # Генератор словаря
  59. def dict_generate():
  60. return {x: string.ascii_uppercase[x-1] for x in range(1,21)}
  61. print(dict_generate())