level 2
金壶说
楼主
代码片段:
while True:
set_command = input("请输入IPv4地址,格式:xxx.xxx.xxx.xxx,其中xxx为数字(范围为0到255)。输入back以返回。\n>>")
validation = 0
ip_check = set_command.split(".")
if len(ip_check) == 4:
validation = 1
try:
if eval(ip_check[0]) and eval(ip_check[1]) and eval(ip_check[2]) and eval(ip_check[3]) in range(0,256):
validation = 2
except NameError:
print("---无效输入---\n你的IPv4地址输入无效。")
else:
if validation < 2:
print("---无效输入---\n你的IPv4地址输入无效。")
else:
device_ip = set_command
break
运行结果:
请输入IPv4地址,格式:xxx.xxx.xxx.xxx,其中xxx为数字(范围为0到255)。输入back以返回。
>>123.3123.4324.1231
---无效输入---
你的IPv4地址输入无效。
请输入IPv4地址,格式:xxx.xxx.xxx.xxx,其中xxx为数字(范围为0到255)。输入back以返回。
>>127.0.0.1
---无效输入---
你的IPv4地址输入无效。
为什么我输入是127.0.0.1时,这个东西没用?
顺带一提:
0 in range(0,2)
True
0 and 0 and 0 and 0 in range(0,2)
0
0 and 0 in range(0,234)
0
0 and 0 in range(213)
0
我在idle里试了试,结果发出是这玩意,这个是怎么回事?
2023年07月15日 12点07分
1
while True:
set_command = input("请输入IPv4地址,格式:xxx.xxx.xxx.xxx,其中xxx为数字(范围为0到255)。输入back以返回。\n>>")
validation = 0
ip_check = set_command.split(".")
if len(ip_check) == 4:
validation = 1
try:
if eval(ip_check[0]) and eval(ip_check[1]) and eval(ip_check[2]) and eval(ip_check[3]) in range(0,256):
validation = 2
except NameError:
print("---无效输入---\n你的IPv4地址输入无效。")
else:
if validation < 2:
print("---无效输入---\n你的IPv4地址输入无效。")
else:
device_ip = set_command
break
运行结果:
请输入IPv4地址,格式:xxx.xxx.xxx.xxx,其中xxx为数字(范围为0到255)。输入back以返回。
>>123.3123.4324.1231
---无效输入---
你的IPv4地址输入无效。
请输入IPv4地址,格式:xxx.xxx.xxx.xxx,其中xxx为数字(范围为0到255)。输入back以返回。
>>127.0.0.1
---无效输入---
你的IPv4地址输入无效。
为什么我输入是127.0.0.1时,这个东西没用?
顺带一提:
0 in range(0,2)
True
0 and 0 and 0 and 0 in range(0,2)
0
0 and 0 in range(0,234)
0
0 and 0 in range(213)
0
我在idle里试了试,结果发出是这玩意,这个是怎么回事?