|

Salut!

Recent m-am reapucat de python deoarece l-am lasat pentru a invata linux dar este timpul pentru a invata in continuare python.

Am o problema la un script care avea rolul de a scana o retea.

O sa las doar partea in care sa intampla eroarea :





#!/usr/bin/python3.5

ip=input ("Type the ip addres you want to scan: ")

ok=input ("If you want to scan this ip adress press 1, if you want to exit press 0: ")

if ok==1 :

print ("Preparing to scan "+ str(ip))

if ok==0:

print ("Scan has stoped.")

else:

print ("Invalid option! ")





Eroarea este ca dupa ce introduc 1 sau 0 mereu imi afisaza conditia else ( Invalid option!) si daca scot acea parte nu imi mai afiseaza nimic dupa ce introduc 1 sau 0.

Tin sa mentionez ca folosesc vim si am o intrebare :

Dupa ce fac o conditie ca de ex:

if a > b:

textul incepe de aici nu are acel spatiu ca in ex. 2





if a > b:

asa ar trebui sa inceapa



Problema este ca nu stiu parametri in care ar trebui sa scriu dupa ce scriu conditia.

Ar trebui sa fac update la Vim sau sa il descarc de pe siteul oficial?

6 Raportează Evaluează
Răspuns Câştigător
| a răspuns:

Ai doua greseli.

1. Dupa ce citesti ok cu input el e string. Poti vedea asta

print (str(type(ok)))

Asa ca tu compari un string cu un int
Modifica in
if int(ok)==1 :

A doua greseala e ca daca ok = 1 si intra in primul if va intra si pe else ul din al doilea if

| explică (pentru suntserios):

Explica-mi mai bine a doua greseala, te rog!

RăspundeRăspunde Raportează Evaluează
| a răspuns (pentru NVRE):

Daca ok == 1
Va intra atat pe primul if cat si pe else celui de al doilea if.

RăspundeRăspunde Raportează Evaluează
| explică (pentru suntserios):

Am rezolvat problema
Mersi oricum

RăspundeRăspunde Raportează Evaluează
5 răspunsuri:
| a răspuns:

Nu are instrucțiunea case?

RăspundeRăspunde Raportează Evaluează
| explică (pentru doctorandus):

Adica?

RăspundeRăspunde Raportează Evaluează