wolverine777
@wolverine777

Как сделать так чтобы нумерация начиналась с единицы а не с нуля?

Привет, только начинаю питонить и вот столкнулся с проблемой

j = list(range(1,13))
print (j)

#for a in j:
for i in range(0,12):
    result = revenue[i] - expenses[i]
    print ("Profit for month "+ str(i) + " = " + str(result))


мне надо чтобы месяцы начинались не с нуля а с единицы. Если изменить range на (1,13) тогда пропадают данные для первого месяца, что логично.
  • Вопрос задан
  • 3719 просмотров
Решения вопроса 2
NeiroNx
@NeiroNx
Программист
Вас спасет
str(i+1)
Ответ написан
Комментировать
adugin
@adugin Куратор тега Python
1) Если нужно получать одновременно индекс и элемент списка, используйте enumerate();
2) Если нужно получать N элементов с одинаковыми индексами из N списков, используйте zip();
3) Соединять строки через конкатенацию - самый медленный и неэффективный способ. Используйте str.join() или форматирование строк (как в моём примере).
for m, (r, e) in enumerate(zip(revenue, expenses), 1):
    print(f'Profit for month {m} = {r-e}')
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
planc
@planc
https://docs.python.org/3/library/functions.html#e...

my_list = ['apple', 'banana', 'grapes', 'pear']
for c, value in enumerate(my_list, 1):
    print(c, value)

# Output:
# 1 apple
# 2 banana
# 3 grapes
# 4 pear
Ответ написан
Комментировать
@pfemidi
Тут могло бы быть краткое описание меня
А такое:
for i in range(0,12):
    j = i+1
    result = revenue[j] - expenses[j]
    print ("Profit for month "+ str(j) + " = " + str(result))

или даже тупо:
for i in range(0,12):
    result = revenue[i+1] - expenses[i+1]
    print ("Profit for month "+ str(i+1) + " = " + str(result))

под религиозным запретом?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час