Minha dúvida seria, existe alguma hierarquia para declaração de variáveis no Python? Um exemplo retirado de um exercício:
O código se encontra assim, na qual a primeira var é “numero_secreto”, as seguintes var existentes são declaradas depois de “chute=int(chute_str)”.
print("*********************************")
print("Jogo!")
print("*********************************")
numero_secreto = 60
chute_str = input("Digite o seu número: ")
print("Você digitou: ", chute_str)
chute = int(chute_str)
acertou = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto
if (acertou):
print("Você Acertou")
else:
if (maior):
print("Você errou, seu chute foi maior que o número.")
elif (menor):
print("Você errou, seu chute foi menor que o número.")
Haveria diferença se todas as variáveis fossem declarada na parte superior em conjunto com “numero_secreto”? como mostro abaixo.
print("*********************************")
print("Jogo!")
print("*********************************")
numero_secreto = 60
acertou = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto
chute_str = input("Digite o seu número: ")
print("Você digitou: ", chute_str)
chute = int(chute_str)
if (acertou):
print("Você Acertou")
else:
if (maior):
print("Você errou, seu chute foi maior que o número.")
elif (menor):
print("Você errou, seu chute foi menor que o número.")
a variavel chute so contem algum valor apos vc fazer int(chute_str)
portanto so faz sentido vc comparar se o chute é maior ou menor que um dado numero depois disso
o que acontece é que python, por ser uma linguagem dinamica, pode assumir que chute foi usado pela primeira vez numa comparação numerica e vai assumir um valor default que pode ser 0. depende da linguagem.
contudo sim o que vc propor poderia funcionar com algum uso de lambdas, mas eu acho que vai trazer mais complicaçoes…
Boa tarde.
Essa é uma questão de ESCOPO, essa é uma das várias páginas que explicam um pouco sobre isso:
Pela minha parca experiência, se vc declarar no escopo global, para usá-la dentro de uma função voce deverá incluir a linha global var. dentro da função. pra ela entender que se trata da var global, senão é gerada uma var local. Espero ter ajudado.
Gostei dessa da ideia desse joguinho kk fiz um tmb usando a biblioteca random pra gerar números aleatórios
import random
frase = ‘Bem vindo ao jogo’
print(’{:#^40}’.format(frase))
secreto = random.randint(1,10)
numero = int(input(‘Digite um número: 1 até 10\n’))
maior = numero > secreto
menor = numero < secreto
if(numero == secreto):
print(‘Parabéns você acertou’)
else:
if(maior):
print(‘Você errou, {} é maior que o número secreto!’.format(numero))
print(‘número secreto = {}’.format(secreto))
elif(menor):
print(‘Você errou, {} é menor que o numero secreto’.format(numero))
print(‘número secreto = {}’.format(secreto))
se alguém acertar me fale, pq até agr n acertei kk
E pelo o que eu vi cara, faz diferença sim pq se vc declara as variáveis tudo antes e só dps de declaradas, você começa a criar o seu script de código, o Python vai dar erro msm, pq em Python temos que ser bastante organizado em questão de código.