@Andross78

Как вывести измененный список из функции?

Нужно создать функцию которая принимает список с числами а возвращает: # .

h = func([2, 6, 3, 1])
print(h)
##
######
###
#

Объясните что не так с моим вариантом решения

list_1 = [ ]
i = 0
while i < len(list_1):
print(int(list_1[i]) * "#")
i += 1
return list_1
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
adugin
@adugin Куратор тега Python
def octothorpes(numbers):
    return ['#' * n for n in numbers]
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@gh0sty
Веб-разработчик. Пишу под Python Django.
Параметры не передал + дай нам нормальное форматирование.
def func(*nums):
    ret = []
    for num in nums:
        ret.append('#' * num)
    return ret
inp = [2, 10, 3, 5] # your input
res = func(inp)

*name - в аргументах функции - это передавать сколько угодно неименованных элементов.
'some_string' * 5 - повтори мне 'some_string' 5 раз
или как чел выше:
inp = [2, 10, 3, 5] # your input
res = ['#' * n for n in inp] # генератор массивов или list-генератор

Это типо: Эй, Python! Ты чет обленился. Закинь-ка мне столько же значений в массив, сколько в исходном массивчике, и сразу передавай мне значения из него + не забудь закинуть все в переменную res.
Ответ написан
Комментировать
TenXTengame
@TenXTengame
Хожу на руках из задницы
Если тебе нужно, чтобы выводилось именно так, то мб это подойдет:
def func(a):
    b = '#'
    for i in a:
        print(b*i)
func([9,8,1,4,7,2])

Вывод:
#########
########
#
####
#######
##
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы