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?
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
list(range (24,40+1,1))
Rafik
Цикл for перебирает значения, полученные от твоего range. Подумай, после 32 какое следующее число идет в твоём итераторе range?Посмотрри содержимое
for(int i=24;i<40;i++)
{
if(i==32)
i=1;
Alert(i);
if(i==23)
break;
}
i=24
while i<40:
if i==32:
i=1
print(i)
if i==23:
break
i+=1
>>> 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
>>> (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] >>>