Python напился, и встроенные функции str()
и int()
ведут себя странно:
str(4) ➞ 4 str("4") ➞ 4 int("4") ➞ "4" int(4) ➞ "4"
Вам нужно создать две функции, которые заменят str()
и int()
: функцию int_to_str()
, которая преобразует целые числа в строки, и функцию str_to_int()
, которая преобразует строки в целые числа.
Пример:
int_to_str(4) ➞ "4" str_to_int("4") ➞ 4 int_to_str(29348) ➞ "29348"
Примечание:
Эта задача призвана проиллюстрировать опасность использования уже существующих имен функций.
Варианты решений:
str, int = int, str def int_to_str(n): return str(n) def str_to_int(s): return int(s)
def int_to_str(num): return int(num) def str_to_int(num): return str(num)
def int_to_str(num): return "{}".format(num) def str_to_int(num): return eval(num)
def str_to_int(num_str): num = 0 for char in num_str: num *= 10 num += ord(char) - ord('0') return num def int_to_str(num_int): word = "" while num_int: word = chr(ord('0') + num_int % 10) + word num_int //= 10 return word or "0"