Професионална програма
Loading...
+ Нов въпрос
LachezarYankov65 avatar LachezarYankov65 3 Точки

Сравняване на променлива със стойност = 0

https://pastebin.com/kmUfkdAZ

Това е задача, която реших и според Джъдж е вярна, но при решаването и се сблъсках със следния проблем:

- когато се извършват проверките на 37 и 50 редове и при липса на тази част от редовете:

or difference_minute == 0

 ,а стойността на тази променлива приеме стойност = 0 не дава отговор True, въпреки ,че преди това, на същите редове се прави проверката: 
difference_minute < 9
Нали 0 < 9? Защо проверката не дава отговор True без "or difference_minute == 0"?
Тагове:
0
Programming Basics
MartinBG avatar MartinBG 3077 Точки

Проблемът е при разлика, кратна на 60 минути: първата част от проверката няма да мине, защото се проверява само за стойности, по-големи от 60:

elif difference > 60 and difference_minute < 9 or difference_minute == 0:

Променете кода на:

elif difference >= 60 and difference_minute < 9:

0
LachezarYankov65 avatar LachezarYankov65 3 Точки

Много Ви благодаря.

Бяхте прав и разбрах защо.

1
LachezarYankov65 avatar LachezarYankov65 3 Точки

Също може да се реши ако заместим:

elif difference > 60 and difference_minute < 9 or difference_minute == 0:

с:

elif difference > 59 and difference_minute < 9 or difference_minute == 0:

Което по принцип е същото като Вашето предложение, но може би е една идея по-ясно.

Още веднъж благодаря.

0
LachezarYankov65 avatar LachezarYankov65 3 Точки

Извинете.4-ти ред от предния пост да се чете:

elif difference > 59 and difference_minute < 9:

 

0