python小问题

软件和网站开发以及相关技术探讨
回复
头像
九天星
帖子: 1440
注册时间: 2007-07-14 20:45

python小问题

#1

帖子 九天星 » 2016-10-10 18:27

代码: 全选

#!/usr/bin/env python
i = 100
while i <= 255
    print i
    i = i + 1
问一:这个语法错在哪里?

问二:如果我要将 i = 后面的赋值为IP地址,比如值为192.168.1.100,只有最后的100变动,用这个语句应该如何完成?
上次由 九天星 在 2016-10-10 18:31,总共编辑 1 次。
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: python小问题

#2

帖子 vickycq » 2016-10-10 18:30

九天星 写了:while i <= 255
此行末缺少冒号
九天星 写了:如果我要将 i = 后面的赋值为IP地址,比如值为192.168.1.100,只有最后的100变动

代码: 全选

for i in range(100,256):
    print "192.168.1.%d" % i
上次由 vickycq 在 2016-10-10 18:38,总共编辑 1 次。
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
onlylove
论坛版主
帖子: 5214
注册时间: 2007-01-14 16:23

Re: python小问题

#3

帖子 onlylove » 2016-10-10 18:37

貌似楼上回答了一个,至于另一个,我突然想问,你用192.168.1.i有问题么,一定要用i代表一个ip么?
头像
九天星
帖子: 1440
注册时间: 2007-07-14 20:45

Re: python小问题

#4

帖子 九天星 » 2016-10-10 19:16

onlylove 写了:貌似楼上回答了一个,至于另一个,我突然想问,你用192.168.1.i有问题么,一定要用i代表一个ip么?

好像不行
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: python小问题

#5

帖子 vickycq » 2016-10-10 20:41

九天星 写了:好像不行

代码: 全选

import netaddr
ip = netaddr.IPAddress("192.168.1.100")
subnet = netaddr.IPNetwork('192.168.1.0/24')
while ip in subnet:
    print ip
    ip = ip + 1
先安装 netaddr 库: pip install netaddr
完整用法参考 https://pythonhosted.org/netaddr/index.html
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
九天星
帖子: 1440
注册时间: 2007-07-14 20:45

Re: python小问题

#6

帖子 九天星 » 2016-10-10 23:40

代码: 全选

#!/usr/bin/python
j = "192.168.1."
i = 100
while i <= 255:
    print j + str(i)
    i = i + 1
这个方式可以满足,只是,IP地址变成了字符串,IP地址是字符串吗??? :em04 :em04
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: python小问题

#7

帖子 astolia » 2016-10-11 11:32

ipv4地址的点分十进制表示不是字符串是什么??? :em04 :em04
头像
九天星
帖子: 1440
注册时间: 2007-07-14 20:45

Re: python小问题

#8

帖子 九天星 » 2016-10-11 14:46

代码: 全选

#!/usr/bin/python
#coding:utf-8
#润年判断小程序
year = int(raw_input("enter year:"))
if(year % 400 == 0):
	print ("%d is leapyear" % year)
elif(year % 4 == 0 and year % 100 != 0):
	print ("%d is leapyear" % year)
else:
	print ("%d is not leapyear" % year)
#号是注释符号,但在第二行,似乎#coding:utf-8不只是注释符这么简单对不对?
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: python小问题

#9

帖子 astolia » 2016-10-11 15:05

回复