【发布时间】:2014-03-04 13:17:55
【问题描述】:
def main():
port = 10000000
portChecked = portChecker(port)
if portChecked is portChecked:
print '%d is in the portlist' % port
def portChecker(x):
portCheck = range(65565)
portList = list(portCheck)
portCast = x
if portCast in portList:
return
else:
print '%d is not in the list' % portCast
if __name__ == '__main__':main()
开始学习python,用暴力python电子书,想写一个简单的函数来检查用户正在输入的端口(或静态值)
如果端口在范围内,程序将打印出 %d 在列表中,但是像这里一样,如果它在范围之外,两个打印语句都会执行。
我是否在函数调用、使用 return 语句时遗漏了某些内容,或者我是否以错误的方式看待这一点。
谷歌搜索,似乎没有给出类似的解决方案,大多数教程使用 int 或字符串。
感谢所有帮助。
【问题讨论】:
-
if portChecked is portChecked:永远为真 -
创建一个包含 65565 个整数的完整列表只是为了检查一个数字是否在一个区间内是错误的。使用这个:
if 0 < x <= 65565.
标签: python function compare return