手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏
当前位置: 网站首页 > python教程 > 文章 当前位置: python教程 > 文章

数据爬虫python实例教程书python实例对象作为参数传递给函数

时间:2022-07-18    点击: 次    来源:网络    作者:佚名 - 小 + 大

数据爬虫python实例教程书python实例对象作为参数传递给函数


下载地址

https://share.weiyun.com/OvviwGnZ


资料目录
Python练习集100题
100道Python面试题
Python100经典练习题
Python经典题目100道题
Python题库(已收录100道真题)
Python100例视频讲解课程
菜鸟教程Python教程100例
130道python练习题,涵盖基础内容的方方面面
Python考试题复习知识点试卷试题
PYTHON测试题和答案
python第一阶段考试题
Python经典面试题和答案解析
python期末考试复习试卷
python习题集大全(附答案解析)
老男孩Python全栈7期练习题(面试真题模拟)
尚观python第一阶段考试(面试真题模拟)
《Python程序设计基础与应用》习题答案
《Python快速编程入门》——课后题答案
Python编程基础张健 , 张良均课后习题及答案
Python程序设计基础及实践(慕课版)郭炜习题答案
Python程序设计基础习题答案与分析
python基础试题(含答案)

举例

字符串转整数
题目要求
实现函数atoi,将字符串转为整数,具体要求如下:
1. 字符串第一个非空字符如果不是数字,字符串无效,返回0
2. 字符串第一个非空字符如果是 + 或者 -,则表示正负,且该字符后面的第一个非空字符必须是数字,否则视为无效字符串,返回0
3. 遇到数字,将其与之后连续的数字字符组合起来形成整数
4. 有效数字范围是[−231, 231 − 1],数值超过可表示的范围,则返回231 − 1 或−231 。
示例
1、 "42" 转成 42
2、 "   -  42 43" 转成 -4243
3、 "4193 word" 转成4193
4、 "word 4193" 转成0
5、 "-91283472332" 转成-91283472332, 比−2^31还小,返回−2^31
思路分析
基本思路是遍历字符串,遍历过程中,关键点是找到第一个非空字符,这个非空字符决定了接下来程序的走向。
如果第一个非空字符是+或者-,就决定了数值的正负,后面的工作是提取数值
如果第一个非空字符是数字,事情变得简单了,直接提取数值。
如果第一个非空字符既不是数字,也不是+或-,就是无效字符串,返回0即可。
提取数值的过程,用一个列表保存单个数字,直到遇到一个既不是数字也不是空格的字符或者遇到字符串末尾,将列表里的数值连接起来并用int转成数值。
程序的最后,要和最大值和小值比较。
示例代码
# coding=utf-8
MAX_INT = 2**31-1
MIN_INT = -2**31


def atoi(string):
    """
    将字符串转成int
    :param string:
    :return:
    """
    if not isinstance(string, basestring):
        return 0
    if string == u'':
        return 0

    tag = 1    # 标识正负, 赋值为1表示为正
    value = 0
    for index, item in enumerate(string):
        # 空字符不处理
        if item == u' ':
            continue
        elif item in ('+', '-'):
            if item == '-':
                tag = -1
            value = get_int(string, index)
            break
        elif item.isdigit():
            value = get_int(string, index)
            break
        else:
            return 0

    value = tag * value
    if value > MAX_INT:
        value = MAX_INT
    if value < MIN_INT:
        value = MIN_INT

    return value


def get_int(string, start_index):
    """
    提取数值
    :param string: 字符串
    :param start_index: 数值开始部分
    :return:
    """
    lst = []
    for index in range(start_index, len(string)):
        if string[index] == u' ':       # 空字符不用处理
            continue
        if string[index].isdigit():     # 遇到不是数字时结束
            lst.append(string[index])

    return int(''.join(lst))


if  __name__ == '__main__':
    print atoi("42")
    print atoi("   -  42 43 ")
    print atoi("4193 4 word")
    print atoi("word 4193")
    print atoi("-91283472332")

上一篇:遗传算法python实例对象排序python实例对象无法访问其私有属性

下一篇:没有了

推荐阅读
声明 | 联系我们 | 关于我们
备案ICP编号  |   QQ:2151239526  |  地址:北京市东城区  |  电话:16605168200  |