2017-04-24 56 views
0

我希望用户通过输入要查找的IP地址留在while循环中,他们可以在提示时继续查找ip,如果他们想通过输入y或n继续,经常因为不是所有的IP地址都被发现,我得到一个无限循环,所以我现在只是让它跳出循环。如何在异常后继续询问用户是否想查找另一个IP而不是跳出循环?谢谢。在发生异常后留在while循环中

import socket 

print("\n----------Look up Domain by IP Address----------\n") 

response3 = input("Enter an IP Address: ") 

while True: 
    try: 
     domain = socket.gethostbyaddr(response3)[0]#.split(".")[1] 
     print("\nDomain Name is", domain) 

    except(socket.error): 
     print("\nA domain name could not be found.") 
     break 

    response4 = input("Would you like to look up another IP adress? type y for [yes] or n for [no]: ")    

    if response4 == "y": 

     response3 = input("Enter an IP Address: ") 

    elif response4 == "n": 
     print("\n[END]") 
     break 

回答

2

不要使用[break],[break]意味着跳出循环。使用[continue]开始循环的下一步。

如果您想在第一个[尝试]中继续第二个[尝试],则第一个[try]中的[break]可以更改为[pass],这意味着什么都不做。

+0

通过工作,谢谢。 – k5man001