函数默认参数为可变类型([ ])
1 |
# 下面代码的输出结果是什么,请解释。 |
依次输出:
[10, ‘a’]
[123]
[10, ‘a’]
True
因为list1和list3调用函数extend_list时,没有传入list关键字参数,使用了函数初始化的list。
返回给list1和list3的都是初始化list的地址,所以值相同。
类的继承
1 |
# 下面代码的输出结果是什么,请解释。 |
依次输出:
1 1 1
1 2 1
3 2 3
因为,Child1、Child2都继承Parent类。
第一次都输出Parent的x值,为1。
第二次,Child1拥有自己的属性x=2,他的输出变为2。
第三次,Parent的属性x被赋值为3。不改变Child1自己的属性x。
列表中多个lambda
1 |
# 以下代码的输出结果是什么?请写出答案并解释。请修改multipliers的定义,来产生期望的结果。 |
打印文件夹中文件的路径以及包含文件夹中文件的路径
1 |
# 方法一:(面试要求不使用os.walk) |
列表解析
1 |
A0 = dict(zip(('a', 'b', 'c', 'd', 'e'), (1, 2, 3, 4, 5))) |
一句话打印出0-100内的偶数
1 |
print([i for i in range(1, 101) if i % 2 == 0]) |
1,2,3,4,5 能组成几个互不相同且无重复数字的三位数
1 |
nums = [1, 2, 3, 4, 5] |
两个字典相加,不同的key对应的值保留,相同的key对应的值相加
1 |
dicta = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'f': 'hello'} |
斐波那契数列
返回Fibonacci数列中的第n项
1 |
# 方法一 递归法: |
返回Fibonacci数列中的前n项
1 |
def fibo3(n): |
求400万以内最大的斐波那契数和它的下标
1 |
def fibo(n): |
求两个列表list的交集和差集
1 |
l1 = [1, 2, 3, 4] |
列表去重(保持原有顺序)
1 |
l1 = [1, 4, 3, 3, 4, 2, 3, 4, 5, 6, 1] |
求数组中没有重复的数的和
1 |
def sums(l): |
给定一个整数数组返回两个数的索引,使得他们相加和一个目标值相等
1 |
def func(list, target): |
求列表中第二大的元素
1 |
def max2_func(li): |
0-99取10个不重复的数字
1 |
def func(k): |
99乘法表
1 |
# 方法一 |
写一个装饰器,打印出方法执行时长的信息
1 |
import time |
写一个装饰器,打印函数名
1 |
def log(func): |
输入一个字符串,返回倒序排列的结果:如:’abcdef’ 返回 ‘fedcba’
1 |
s = 'abcdef' |
返回字段和对应值组成的字典
1 |
# -*- coding: utf-8 -*- |
五猴分桃问题
1 |
def show(n): |
罗马数字转阿拉伯数字
1 |
def rome_to_arab(s): |
level(x)根据输入数值返回对应级别
1 |
def level(x): |
输入年月日,返回天数
1 |
import datetime |
根据数字长度创建字典
1 |
L = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 32768, 65536, 4294967296] |
根据(row,column),创建二维数组
1 |
def array(row, col): |
二维数组的成员判断
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数,如果存在返回该整数的位置。
1 |
arr = [[1, 4, 7, 10, 15], |
数组中找最大和的连续子数组
1 |
def max_son(l): |
坦克
某次战役中,为便于信息交互,我军侦察部门将此次战役的关键高地坐标设定为(x=0,y=0)并规定,每向东增加100米,x加1,每向北增加100米,y加1。同时,我军情报部门也破译了敌军向坦克发送的指挥信号,其中有三种信号(L,R,M)用于控制坦克的运动,L 和 R 分别表示使令坦克向左、向右转向,M 表示令坦克直线开进100米,其它信号如T用于时间同步,P用于位置较准。
一日,我军侦察兵发现了敌军的一辆坦克,侦察兵立即将坦克所在坐标(P, Q)及坦克前进方向(W:西,E:东,N:北,S:南)发送给指挥部,同时启动信号接收器,将坦克接收到的信号实时同步发往指挥部,指挥部根据这些信息得以实时掌控了该坦克的位置,并使用榴弹炮精准地击毁了该坦克。
请设计合理的数据结构和算法,根据坦克接收到的信号,推断出坦克所在的位置。
设计时请考虑可能的扩展情况,并体现出您的设计风格。
假设,侦察兵发送给指挥部的信息如下:
坦克坐标:(11,39)
坦克运行方向:W
坦克接收到的信号为:MTMPRPMTMLMRPRMTPLMMTLMRRMP
其位置应该是(9,43),运动方向为E
1 |
class Tank: |