Indentação [RESOLVIDO]

1. Indentação [RESOLVIDO]

Umcara
somenteumlouco

(usa Kali)

Enviado em 22/07/2020 - 11:05h

Preciso usar uma variável que esta na indentação fora da indentação.


try:
o= ip[4] in ip
except (IndexError):
mask = input('Digite a máscara: ')


Quero usar a variável mask fora da indentação.
Abaixo vai a print do código, quero fazer um programa para mostrar o máximo de informação possíveis de um ip digitado


  


2. MELHOR RESPOSTA

Lisandro Guerra
Lisandro

(usa Linux Mint)

Enviado em 22/07/2020 - 15:58h

Vamos por partes. Considerando python 3.6 ou superior

Esta primeira parte " #Splitando o ip e o prefixo " poderia ficar melhor assim:

ip = input('Digite o IP com ou sem o prefixo aqui: ')
ip = ip.replace('/', '.').split('.')


Na segunda parte " # Identificando se foi digitado o prefixo " poderia ficar assim:

try:
mask = ip[4]
except(IndexError):
mask = input('Digite a máscara: ')


Por fim pode imprimir:

print(f'A máscara informada é {mask}.' )


Exemplo no terminal:

>>> ip="192.168.125.101/24"
>>> ip=ip.replace('/', '.').split('.')
>>> print(f'Máscara é {ip[4]}.')
Máscara é 24.


Vê se isso ajuda.
Abraço

3. Re: Indentação [RESOLVIDO]

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 22/07/2020 - 11:38h

Defina a mask no escopo onde você deseja utilizá-la, que no caso é fora do try:

mask = ''
try:
o= ip[4] in ip
except (IndexError):
mask = input('Digite a máscara: ')




4. Re: Indentação [RESOLVIDO]

Umcara
somenteumlouco

(usa Kali)

Enviado em 22/07/2020 - 14:05h

Já agradeço o contato, muito obrigado.
Isso até deu certo, mas tem um problema.
Veja a foto ali por favor.


5. Re: Indentação

Lisandro Guerra
Lisandro

(usa Linux Mint)

Enviado em 22/07/2020 - 14:50h

Poderia explicar o problema?
Não entendi!
Ali na foto diz que quer imprimir mask naquele lugar e isso seria apenas fazer um print(mask).
A não ser que o que queira é que o input seja feito naquele lugar e aí já é outra coisa e talvez o que tu precise é de uma function.

Não está clara a dúvida.

Abraço


6. Re: Indentação

Umcara
somenteumlouco

(usa Kali)

Enviado em 22/07/2020 - 15:05h

Oi Lisandro tudo bom.
Seguinte cara, eu estou tendo aula de redes, e sempre estou precisando usar diversas contas para achar resultados, então pensei, por que não usar python.
Só que eu cheguei em um problema que é o seguinte:
Eu quero que o meu programa leia um endereço IP, nesse endereço IP pode conter um prefixo junto (ex. 192.168.0.1/25), quero que alem de meu programa ler o ip com o prefixo, quero que ele verifique se o prefixo foi informado. Caso o prefixo foi informado, vai mostrar a máscara do prefixo digitado. E se não foi informado o prefixo ? Bom nesse caso o programa vai reconhecer que não foi informado e irá perguntar qual a máscara, tendo o usuário do programa informar a máscara.
Essa é a ideia. Bom o problema que me deparei é o seguinte:
Fiz o programa ler se o prefixo foi digitado, e se por acaso não foi informado, quero que na linha abaixo da linha que está pedindo para informar o ip me peça para informar a máscara, ou seja, (no exemplo de o prefixo da rede não seja informado), quero que nas duas primeiras linhas seja o usuário dando as informações, e o restante das linhas, seja o programa dando os resultados, como uma forma de deixar o visual para o usuário mais bonito.
Desculpa pelo texto grande, e muito obrigado a quem está tentando me ajudar, sou muito grato por isso.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts