Laço while duvida no python

Olá pessoal estou com uma divida sobre laço o código é esse:

print(“welcome!”)
guess = 0[color=red] A primeira duvida, no livro diz: Você lembrou de definir a adivinhação valor padrão logico. para a segura que o laço fosse executado pela primeira vez.[/color]
while guess != 5:[color=red]Segunda duvida,Precisamos continuar executando enquanto a adivinhação está errada.Sei pra que serve o laço while mas e esse sinal ! antes do = , não sei pra que.[/color]
g = input(“Guess the number:”)
guess = int(g)
if guess == 5:
print(“You Win”)
else:
if guess > 5:
print(“Too high”)
else:
print(“Too low”)
print(“Game Over”)

Obrigado.

Bom, aqui

você está inicializando a variável com um valor diferente da resposta (5) pra forçar a entrada no laço.

e aqui

você está dizendo que o laço deve ser executado sempre que o valor de “guess” for diferente de 5. Se tivesse sem o “!” o laço iria executar se o valor de “guess” for igual a 5 (o que fere a lógica do exemplo). Em python você pode usar o “not” pra negar também (fica bem melhor que o “!” em alguns casos).

Ah! Utilize as tags CODE pra postar seu código, especialmente pra python, já que a identação é que define os blocos.

Qual a dúvida ?
Por favor ao colocar código incluir com a tag

Ataxexe: Muito obrigado me ajudou muito, tenho que intender tudo para dar o próximo passo, me ajudou muito obrigado.

Opa Wilkerkof.

Que bom que esta começando com python. Excelente linguagem.

Não sei qual documentação voce esta utilizando como base no seu aprendizado, mas eu recomendo os seguintes links, na ordem que segue:

Aprenda a Programar - Luciano Ramalho
Tutorial Oficial Traduzido pela comunidade Python

O primeiro é de um cara que manja MUITO de Python e é um professor com ótima didática, o Luciano Ramalho. Vale a pena.

Abraço.