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 Arch Linux)

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 Arch Linux)

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts