Функция Python проекта, функция гисто, которые возвращают O

Гистограмма (xs): учитывая список целых чисел с именем xs, возвращает строку, в которой при печати отображается гистограмма, соответствующая целым числам. Используйте маленькое "о" в качестве символа дисплея.

  • Предположим: xs - это список неотрицательных целых чисел; хз может быть пустым.
  • Ограничения: в настоящее время не указано.
  • гистограмма ([3,10,0,5]) → 'ooo\noooooooooo\n\nooooo'
  • гистограмма ([]) → ''

Вот что я попробовал:

def histogram(xs):
    last = len(xs)
    histo = '' 
    for number in xs: 
        while number > 0: 
            histo += 'o'
            number -= 1 
            last -= 1
            if last == 0:
                if histo == None:
                    return '' 
                return histo
            histo += '\n'

1 ответ

Возможно, вы неправильно указали отступы, когда редактировали ваш вопрос. Я должен был догадаться, потому что я вытащил это из комментария. Кроме того, у вас могли возникнуть проблемы с отступами. В любом случае, это похоже на работу (это ваш оригинальный код с правильными отступами):

def histogram(xs):
    last = len(xs)
    histo = '' 
    for number in xs:
        while number > 0: 
            histo += 'o'
            number -= 1 
        last -= 1
        if last == 0:
            if histo == None:
                return '' 
            return histo
        histo += '\n'

Вот более компактное решение:

def histogram(xs):
    output = ""
    for number in xs:
        output += "o" * number + "\n"
    return output
Другие вопросы по тегам