Python while Loop com múltiplas condições
-
Use
e
eou
Operadores lógicos para fazer um loop Pythonwhile
com várias condições -
Use operadores lógicos
not
para fazer um loop Pythonwhile
com várias condições
O loop while
em Python é um loop que ajuda a executar o código até que a condição na instrução while
, ou seja, a condição de teste, se torne verdadeira. Este loop é usado quando o usuário não sabe o número de iterações a serem realizadas de antemão. Existem muitos casos em que um loop while
é usado em várias condições.
Neste tutorial, veremos como usar loops while com várias condições.
Use e
e ou
Operadores lógicos para fazer um loop Python while
com várias condições
O operador lógico e
avalia a expressão inteira primeiro e, em seguida, retorna o resultado com base nessa avaliação. Se qualquer uma das duas condições não for satisfeita ou não for verdadeira, a declaração será considerada falsa e o código não será executado.
Exemplo:
x = 10
y = 20
initial_count = 0
while initial_count < x and initial_count < y:
print(f"count: {initial_count}, x = {x}, y = {y}")
initial_count += 1
Produção:
count: 0, x = 10, y = 20
count: 1, x = 10, y = 20
count: 2, x = 10, y = 20
count: 3, x = 10, y = 20
count: 4, x = 10, y = 20
count: 5, x = 10, y = 20
count: 6, x = 10, y = 20
count: 7, x = 10, y = 20
count: 8, x = 10, y = 20
count: 9, x = 10, y = 20
Neste método, primeiro fazemos duas variáveis, x, e y, iguais a 10 e 20, respectivamente. Em seguida, inicializamos a contagem igual a zero. Depois de fazer tudo isso, começamos com nosso loop while
, que cria duas condições conforme mostrado no código acima. Finalmente, o operador lógico e
entra em ação. Esse operador primeiro combina as duas condições criadas pelo usuário em uma e, em seguida, verifica as duas condições como um todo. Se ambas as condições forem verdadeiras, o loop será executado; do contrário, não. Além disso, esse operador para de avaliar depois de descobrir que a primeira afirmação é verdadeira. Como neste caso, o loop parou de funcionar após a contagem de 10.
Vamos passar para o operador lógico ou
. Assim como o operador lógico e
, o operador ou
também avalia as condições fornecidas e, em seguida, combina as duas condições como uma única condição. A vantagem de usar esse operador é que, mesmo se uma das duas declarações condicionais for verdadeira, o código será executado. Se ambas as instruções forem falsas, o código não será executado.
Exemplo:
x = 10
y = 20
initial_count = 0
while initial_count < x or initial_count < y:
print(f"count: {initial_count}, x = {x}, y = {y}")
initial_count += 1
Produção:
count: 0, x = 10, y = 20
count: 1, x = 10, y = 20
count: 2, x = 10, y = 20
count: 3, x = 10, y = 20
count: 4, x = 10, y = 20
count: 5, x = 10, y = 20
count: 6, x = 10, y = 20
count: 7, x = 10, y = 20
count: 8, x = 10, y = 20
count: 9, x = 10, y = 20
count: 10, x = 10, y = 20
count: 11, x = 10, y = 20
count: 12, x = 10, y = 20
count: 13, x = 10, y = 20
count: 14, x = 10, y = 20
count: 15, x = 10, y = 20
count: 16, x = 10, y = 20
count: 17, x = 10, y = 20
count: 18, x = 10, y = 20
count: 19, x = 10, y = 20
Observe que, neste método, o loop não para após a primeira instrução. É porque o operador descobre que a segunda condição também é verdadeira. Se a primeira afirmação fosse verdadeira e a segunda não, o loop pararia após a contagem de 10.
Use operadores lógicos not
para fazer um loop Python while
com várias condições
Há mais um operador lógico pelo qual podemos usar o loop while
em várias condições, e esse operador é chamado de operador not
. Este operador é usado para retornar o valor oposto da instrução booleana. Por exemplo, se o estado booleano for not False
, true será retornado, e se a instrução booleana for not True
, false será retornado.
Exemplo:
x = 10
y = 20
initial_count = 0
while not initial_count > x and not initial_count > y:
print(f"count: {initial_count}, x = {x}, y = {y}")
initial_count += 1
Produção:
count: 0, x = 10, y = 20
count: 1, x = 10, y = 20
count: 2, x = 10, y = 20
count: 3, x = 10, y = 20
count: 4, x = 10, y = 20
count: 5, x = 10, y = 20
count: 6, x = 10, y = 20
count: 7, x = 10, y = 20
count: 8, x = 10, y = 20
count: 9, x = 10, y = 20
count: 10, x = 10, y = 20
Aqui, as instruções while
significam que se a contagem inicial não for maior que x
e a contagem inicial não for maior que y
, retorne apenas o código a seguir. Além disso, observe que a operação lógica e
também é usada no código acima, o que significa que o operador e
considera a primeira instrução not
verdadeira e não avalia a segunda instrução not
. Finalmente, o loop começa a iterar e termina na contagem de 10.
Portanto, assim como tomamos apenas duas condições no loop while como exemplo, mais dessas instruções podem ser adicionadas.
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn