问题陈述:以下格式的IP地址被视为特殊的本地地址:10. *。 *。 *和192.168。 *。 *。星号可以代表0到255之间的任何值。编写一个程序,要求用户输入IP地址,然后输入 打印出是否为这两种形式之一
我的代码:
s=input('Enter the IP address :')
if s[0]==1 and s[1]==0 and s[2]=='.':
print('It is a special IP address')
elif s[0]==1 and s[1]==9 and s[2]==2 and s[3]=='.' and s[4]==1 and s[5]==6
and s[6]==8:
print('It is a special IP address')
else:
print('It is an ordinary IP address')
startwith()是解决此问题的好方法。但是,我无法弄清楚为什么上面的代码总是将输出作为“这是一个普通IP地址”,而不管输入是什么。
答案 0 :(得分:1)
下标字符串将返回一个字符串,而不是int
,就像您将它们进行比较一样。您应该在条件中使用字符串文字:
s=input('Enter the IP address :')
if s[0]=='1' and s[1]=='0' and s[2]=='.':
print('It is a special IP address')
elif s[0]=='1' and s[1]=='9' and s[2]=='2' and s[3]=='.' and s[4]=='1' and s[5]=='6' and s[6]=='8':
print('It is a special IP address')
else:
print('It is an ordinary IP address')