= 0 and ip_address[0].isnumeric() and ip_address[0-6ren">
gpt4 book ai didi

python - 我该如何修复这个 if 语句?我的最后一个条件似乎打破了它,但我不知道为什么

转载 作者:行者123 更新时间:2023-12-02 18:01:36 25 4
gpt4 key购买 nike

ip_address = input().split(".")

if ip_address[0] >= 0 and ip_address[0].isnumeric() and ip_address[0] <=255:
print("Valid first byte")
else:
print("Invalid first byte")

在此代码中,当我添加最终条件 ip_address[0] <=255 时我总是将我的字节视为无效,即使它在技术上符合这些参数。例如,我尝试过输入 0 和 127,但它们显示为无效,但如果我删除最后一个条件,它们就会有效。我哪里出错了?

我尝试将其设置为 ip_address[0] < 256但这也没有奏效。

最佳答案

input() 返回的值始终是一个字符串。当您使用 .split('.') 时,您将获得一个字符串列表。

要测试数字的范围,您需要首先将其转换为 int,但在此之前您可以使用数字检查:

ip_address = input().split(".")

if ip_address[0].isnumeric() and (0 <= int(ip_address[0]) <= 255):
print("Valid first byte")
else:
print("Invalid first byte")

关于python - 我该如何修复这个 if 语句?我的最后一个条件似乎打破了它,但我不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74234330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com