zoukankan      html  css  js  c++  java
  • python 面试题

    前段时间面试碰到的一组python面试题,虽然很简单但是特别的基础.

    1.Python 如何判断二维数组中是否包含整数?

    array = [[1, 3, 5.6, 7.2, 8, 9.9], [2.5, 4.7, 6.8, 7.3, 9, 10], [3.7, 6.7, 9.8, 9.9, 11, 12.1]]
    
    for i in array:
        for j in i:
            if str(j).isdigit():   # 判断是否是整数还可以通过isinstance(j, int)
    print("二维列表中包含整数") break break

    2.如何将字符串中的空格转变成为%20?

    # 1.通过替换方式实现
    >>> str = "how do you do"
    >>> str.replace(" ", "%20")
    'how%20do%20you%20do'
    # 2.通过编码的方式实现
    >>> from urllib import parse
    >>> parse.quote(str)
    'how%20do%20you%20do'

    3.把列表的重复元素删除?

    # 通过set的方式先去重,在转换为列表
    >>> list1 = [1, 3, 3, 4, 1, 2]
    >>> list(set(list1))
    [1, 2, 3, 4]

    如果第一题变成先生成一个4* 4 的维数组,然后再次去判断是否包含整数,这里我们需要考虑生成数组;

    array = []
    for j in range(0, 4):
        array1 = []
        for i in range(1, 5):
            array1.append(i)
        array.append(array1)
    print(array)

    通过两个for循环就可以生成,虽然简单我们还是满足要求的,下面在增加需求4* 4 的数组,但是要求二维数组中即包含整数又包含小数;

    import random
    
    array = []
    for j in range(0, 4):
        array1 = []
        for i in range(0, 4):
            radNum = random.randint(0, 100)
            if radNum % 2 == 0:  # 如果是偶数生成1,10之间整数,如果是基数生成一个小数,并且保留2为小数
                array1.append(random.randint(1, 10))
            else:
                array1.append(round(random.uniform(1, 10), 2))
        array.append(array1)

    继续增加复杂度,每行的数值,从左到右数值需要依次增大

    import random
    
    array = []
    for j in range(0, 4):
        array1 = []
        for i in range(0, 4):
            radNum = random.randint(0, 100)
            if radNum % 2 == 0:  # 如果是偶数生成1,10之间整数,如果是基数生成一个小数,并且保留2为小数
                if len(array1) == 0:  # 判断当前列表长度是不是0,如果是0,代表列表没有任何元素,那么直接添加元素
                    element = random.randint(0, 100)
                    array1.append(element)
                else:
                    element = random.randint(int(array1[-1]) + 1, int(
                        array1[-1]) + 100)  # 否则生成的元素一定要大于最后一个元素,并且避免出现最后一个元素和生成随机数的边界值相差太小,同时自动增长100
                    array1.append(element)
            else:
                if len(array1) == 0:
                    element = round(random.uniform(0, 100), 2)
                    array1.append(element)
                else:
                    element = round(random.uniform(array1[-1] + 1, array1[-1] + 100), 2)
                    array1.append(element)
        array.append(array1)
  • 相关阅读:
    laravel 服务容器,容器概念
    初识swoole
    一个小demo---递归计算子类下的某个值的总和
    微信支付の退款申请
    Box/Spout处理excel和csv
    mysql 获取指定日期的周/月开始 和 周/月结束
    时间字段规定模式获取
    异步服务器之心跳检测
    larave -- leftJoin IFNULL 链表查询
    Mac版Navicat破解
  • 原文地址:https://www.cnblogs.com/mengyu/p/9404769.html
Copyright © 2011-2022 走看看