Перемножить числа, переданные в строке, перечисленные через запятую (python)
def multiply_nums(input_string):
"""
Перемножить числа, переданные в строке, перечисленные через запятую.
"""
mul = str(0)
input_string.split(sep=',')
for x in range(0, len(input_string)):
mul *= input_string[x]
return mul
Ответы (2 шт):
Автор решения: Аске
→ Ссылка
Моё решение по вопросу
def multiply_nums(input_string):
"""
Перемножить числа, переданные в строке, перечисленные через запятую.
"""
numbers = input_string.split(',')
mul = int(numbers[0])
for x in range(1, len(numbers)):
number = numbers[x]
mul *= int(number)
return mul
print(multiply_nums('5,7,1,6,4'))
Автор решения: neo-noir
→ Ссылка
def multiply_nums(s: str) -> int:
s = map(int, s.split(','))
mul = 1
for i in s:
mul *= i
return mul
Во-первых, строка на строку не умножается, а вы делаете именно это, потому что хоть и разделив строку по запятым, элементы в списке все еще имеют строковый тип данных. Надо понимать, что 2 + 2 != '2' + '2' Во-вторых, если вы ставите начальным числом 0, то результата в умножении это не даст. Если бы было сложение, то да, начинаем с 0, если нет доп. условий. А да, вы таким образом и не разделили список, вы получили ту же строку с пробелами и запятыми и занимаетесь перебором строки. Чтобы разделить - нужно присвоить результат работы split, например так:
input_string = input_string.split(sep=',')