Вопрос по вложенности python

При введении значения 14, 17 и т.д., получаю ошибку:

AttributeError: 'map' object has no attribute 'append'

sum = 0
mainList = list()
if count < 10:
  if count < 0:
      print("very small number")
  else:
    for num in range(0, count):
      sum += num
      print(sum)
elif count in range(10, 20):
  for num in range(0, count):
    mainList.append(num)
    mainList = map(str, mainList)
    print("used numbers=", ', '.join(mainList))
else:
    print("very big number")```

Ответы (1 шт):

Автор решения: Константин Комиссаров

Исходя из условия вашей задачи, думаю, вам подойдет такое решение.

  1. В первой части находим сумму всех чисел с помощью функции sum. Эта функция принимает на ход список чисел. Создаем этот список с помощью спискового включения.

  2. По второму условию используем f-строки и функцию join. Она принимает список строк. Поэтому в списковом вкючении приводим каждый элемент к строке.

  3. В третьем условии просто выводим строку, которую от нас хотят.

if n < 10:
    print(sum([x for x in range(n)]))
elif 10 <= n < 20:
    sequence = [x for x in range(n)]
    print(f'used numbers= {", ".join([str(x) for x in range(n)])}')
else:
    print('very big number')
→ Ссылка