函數默認參數為可變類型([ ])
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: |