Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Input 发生异常后,保持在while循环中_Input_While Loop_Infinite Loop_Serversocket - Fatal编程技术网

Input 发生异常后,保持在while循环中

Input 发生异常后,保持在while循环中,input,while-loop,infinite-loop,serversocket,Input,While Loop,Infinite Loop,Serversocket,我希望用户通过输入要查找的ip地址保持在一个while循环中,当提示他们是否要继续时,他们可以通过键入y或n保持查找ip,在异常情况下经常发生,因为没有找到所有ip地址。我得到的是一个无限循环,所以我现在刚刚让它脱离循环。在异常发生后,我如何继续询问用户是否希望查找另一个IP,而不是中断循环?谢谢 import socket print("\n----------Look up Domain by IP Address----------\n") response3 = input("Ent

我希望用户通过输入要查找的ip地址保持在一个while循环中,当提示他们是否要继续时,他们可以通过键入y或n保持查找ip,在异常情况下经常发生,因为没有找到所有ip地址。我得到的是一个无限循环,所以我现在刚刚让它脱离循环。在异常发生后,我如何继续询问用户是否希望查找另一个IP,而不是中断循环?谢谢

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  

不要使用[中断],[中断]意味着跳出循环。使用[继续]开始循环的下一步


如果要继续第一次[try]中的第二次[try],第一次[try]中的[break]可以更改为[pass],这意味着什么也不做。

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

如果要继续执行第一个[try]中的第二个[try],可以将第一个[try]中的[break]更改为[pass],这意味着什么也不做