Analise de variavel em aquivo externo

Python Geral

Ola, estou tentando que meu programa avalie 3 variaveis em um arquivo de texto.

As variaveis sao:

X = 0.9
Y = 1.5
Z = 2.0

Consigo ler o arquivo e "printar", mas quando tento avaliar a variavel, como:

if X>1:

     print("Variavel X maior que 1")

O programa diz que ela nao foi definida.

Como posso resolver ?

Foto de Thiago C.
Thiago perguntou há 1 ano

Sabe a resposta?

Ganhe 10 pts por resposta de qualidade
Responder dúvida
6 respostas
0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Diogo M.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Pode colocar o trecho do seu código, por gentileza? Fica mais fácil identificar onde está o problema

Envie uma dúvida gratuitamente

Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.

0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Johny L.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
tem que converter elas de texto pra variavel primeiro, veja o tipo das variaveis com o comando type. use o metodo astype pra transformar string em float primeiro
0
votos
Nenhum usuário votou nessa resposta como útil.
Professor César D.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano

Como você importou o arquivo externo?

Digamos que estas variáveis foram definidas no arquivo ext.py então, você deve importar o arquivo escrevendo

import ext

Assim, sempre que for acessar uma variável ou função dentro do arquivo, você deve utilizar ext. como prefixo. Por exemplo:

ext.X

é utilizado para acesar a variável X no arquivo ext.py. Com isso, seu desvio condicional deve ser parecido com

if ext.X > 1:
    print("A variavel X é maior que 1")

Está precisando de Aulas Particulares?

Aqui no Profes você encontra os melhores professores particulares, presenciais ou online, para aulas de qualquer assunto!
0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Bruno C.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano

Qual o resultado de print(X) ?

0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Rafael D.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 9 meses

Veja os tipos de dados do Python primeiramente 

REF: Python built-in Types

REF: Tipos de Dados básicos em C

 

Números inteiros, float, double são comparados de maniera diferente do que uma String / Texto.

 

O seu arquivo de texto:

"

X = 0.9
Y = 1.5
Z = 2.0

"

Sendo uma string, voce pode procurar por um texto igual ou semelhante (  if 'procuro' in texto ), buscar pelo indice de alguma letra ou sub-string.

Até aqui OK ?

 

Já os número são guardados na memoria de maneira diferente! Por isso é necessário converter ( PARSE / CASTING ) para cada valor.

OPÇÂO: Se não quiser fazer isso pode utilizar a biblioteca JSON. Más é necessário respeitar a estrutura do JSON.

Não irei entrar em detalhe sobre de como os números são armazenados. 

 

Nesse caso específico. Corte a string até chegar no número que você quer. 

Poderia utilizar os nomes das variáveis como uma chave de um dicionário por exemplo. Existem inumeras maneiras de resolver !

 

 

 

Lista de exercícios, Documentos, Revisão de texto, trabalho?

Se seu problema for dificuldade em uma lista de exercícios, revisão de teses e dissertações, correção de textos ou outros trabalhos, peça uma ajuda pelo Tarefas Profes.
0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Jhonni S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 3 meses

# Lê o arquivo de texto
with open('seuarquivo.txt', 'r') as arquivo:
    linhas = arquivo.readlines()

# Inicializa as variáveis
X = 0.0
Y = 0.0
Z = 0.0

# Itera sobre as linhas do arquivo e atribui os valores às variáveis
for linha in linhas:
    if linha.startswith('X'):
        X = float(linha.split('=')[1].strip())
    elif linha.startswith('Y'):
        Y = float(linha.split('=')[1].strip())
    elif linha.startswith('Z'):
        Z = float(linha.split('=')[1].strip())

# Agora você pode usar as variáveis normalmente
if X > 1:
    print("Variável X maior que 1")

if Y > 1:
    print("Variável Y maior que 1")

if Z > 1:
    print("Variável Z maior que 1")

Professores particulares de Python

+ Ver todos
Encontre professor particular para te ajudar nos estudos
R$ 55 / h
Diogo M.
Hortolândia / SP
Diogo M.
5,0 (7 avaliações)
Horas de aulas particulares ministradas 18 horas de aula
Tarefas resolvidas 9 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
Python - Inteligência artificial Python - Programação Orientada a Objetos Python - Pandas
Mestrado: Computação (Universidade de Campinas)
Ensino programação em linguagem c, python e eletrônica. Desde o básico ao avançado.
R$ 60 / h
César D.
Mogi Guaçu / SP
César D.
4,9 (812 avaliações)
Horas de aulas particulares ministradas 87 horas de aula
Tarefas resolvidas 995 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
Programação em Python NumPy Programação em Python Básico Python - Geral
Graduação: Matemática Aplicada e Computacional (Universidade Estadual de Campinas (UNICAMP))
Faça aulas de matemática, computação e programação em c, c++, java e python.
R$ 120 / h
Johny L.
Fortaleza / CE
Johny L.
4,3 (36 avaliações)
Horas de aulas particulares ministradas 94 horas de aula
Tarefas resolvidas 29 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
Programação em Python NumPy Python - OO Python - Geral
Graduação: Engenharia Civil (IFCE - Campus Fortaleza)
Professor da UFC - Aulas de estatística práticas e aplicadas ao mercado de trabalho além de acadêmico