какой смысл писать число рядом с циклом записи - PullRequest
0 голосов
/ 14 апреля 2020
t=int(input())
while t:
    t-=1
    n,m=map(int,input().split())
    print((n-1)*(m-1))

while t здесь меня смущает, всегда ли это правда? Я понятия не имею, чтобы описать это. Я никогда не видел это. Не могли бы вы объяснить, что здесь происходит с объяснениями, пожалуйста, спасибо!

Ответы [ 4 ]

1 голос
/ 14 апреля 2020

0 - это False - логический контекст, любое другое число - True.

Так что здесь l oop продолжается до тех пор, пока t не уменьшится до 0.

0 голосов
/ 14 апреля 2020

t будет True, если оно не равно 0 (что логично False в Python).

В вашем случае, если t положительно, оно будет уменьшено на 1, и в то время как l oop остановится после t=0.

Но если вход будет отрицательным число, l oop будет работать бесконечно.

0 голосов
/ 14 апреля 2020

while l oop работает, когда параметр, который он содержит, имеет значение true. Так что в вашем примере он оценит значение t следующим образом: bool(t). Если это будет False, то l oop остановится.

0 голосов
/ 14 апреля 2020

В вашем случае пока принимайте целое число t в качестве условия. Где l oop повторяется до тех пор, пока t не станет 0.

while expression:
   statement(s)

Условием здесь может быть любое выражение, а true - любое ненулевое значение. Значение l oop повторяется, пока условие выполняется.

...