在发生异常后留在while循环中
问题描述:
我希望用户通过输入要查找的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
答
不要使用[break],[break]意味着跳出循环。使用[continue]开始循环的下一步。
如果您想在第一个[尝试]中继续第二个[尝试],则第一个[try]中的[break]可以更改为[pass],这意味着什么都不做。
通过工作,谢谢。 – k5man001