Найти - Пользователи
Полная версия: Как создать цикл от 24-го числа прошлого месяца до 23-го числа этого месяца?
Начало » Python для новичков » Как создать цикл от 24-го числа прошлого месяца до 23-го числа этого месяца?
1
andant7
Написал так:

 for i in range (24,40+1,1):
    if i==32:
        i=1
    print(i)
    if i==23:
        break

Но не работает.

Пишет:

24
25
26
27
28
29
30
31
1
33
34
35
36
37
38
39
40

Почему не работает? Может кто-то объяснить?
Это как-то связано с инициализацией i?
Rafik
Цикл for перебирает значения, полученные от твоего range. Подумай, после 32 какое следующее число идет в твоём итераторе range?
Посмотрри содержимое
 list(range (24,40+1,1))
думаю, что сможешь ответить на свой вопрос.
andant7
Rafik
Цикл for перебирает значения, полученные от твоего range. Подумай, после 32 какое следующее число идет в твоём итераторе range?Посмотрри содержимое

Ясно.

А то я цикл for range использовал по аналогии с циклом for из с++

for(int i=24;i<40;i++) 
{
if(i==32)
i=1;

Alert(i);

if(i==23)
break;
}
andant7
Сделал так:


i=24
while i<40:
if i==32:
i=1

print(i)

if i==23:
break
i+=1
Rodegast
> Как создать цикл от 24-го числа прошлого месяца до 23-го числа этого месяца?

Если тебе даты нужны, то используй даты, а не числа.
 >>> from datetime import datetime, timedelta
>>> delta = timedelta(days=1)
>>> date = datetime(2021, 3, 1)
>>> while date < datetime(2021, 4, 23):
...          date += delta
...          print(date)
... 
2021-03-02 00:00:00
2021-03-03 00:00:00
2021-03-04 00:00:00
2021-03-05 00:00:00
2021-03-06 00:00:00
2021-03-07 00:00:00
py.user.next
  
>>> (list(range(1, 31 + 1)) * 2)[23:41]
[24, 25, 26, 27, 28, 29, 30, 31, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB