第三章 7 2 查驗身份證

2021-10-03 22:10:51 字數 2055 閱讀 9432

n=

int(

input()

)cd=

for i in

range

(n):

cardid=

input()

weight=[7

,9,10

,5,8

,4,2

,1,6

,3,7

,9,10

,5,8

,4,2

]dic =

dict

(zip

(list

(range(11

)),[

1,0,

'x',9,

8,7,

6,5,

4,3,

2]))

flag=

1for id in cd:

idlist =

list

(id)

l_last = idlist.pop(-1

) l_str =

''.join(idlist)

ifnot l_str.isdigit():

print

(id)

flag =

0else

: l_arr =

list

(map

(int

,idlist)

) s =

sum(

map(

lambda x,y:x*y, weight,l_arr)

) z = s%

11if

str(dic[z]

)!= l_last:

print

(id)

flag=

0if flag ==1:

print

('all passed'

)

map()函式

map(function, iterable, ...)

function:函式

iterable:乙個或多個序列(迭代器)

>>

>

def square(x)

:# 計算平方數..

.return x **2.

..>>

>

map(square,[1

,2,3

,4,5

])# 計算列表各個元素的平方[1

,4,9

,16,25

]

匿名函式

python 使用 lambda 來建立匿名函式。

-lambda只是乙個表示式,函式體比def簡單很多。

-lambda的主體是乙個表示式,而不是乙個**塊。僅僅能在lambda表示式中封裝有限的邏輯進去。

-lambda函式擁有自己的命名空間,且不能訪問自有引數列表之外或全域性命名空間裡的引數。

-雖然lambda函式看起來只能寫一行,卻不等同於c或c++的內聯函式,後者的目的是呼叫小函式時不占用棧記憶體從而增加執行效率。

lambda

[arg1 [

,arg2,..

...argn]

]:expression

>>

>

map(

lambda x: x **2,

[1,2

,3,4

,5])

# 使用 lambda 匿名函式[1

,4,9

,16,25

]# 提供了兩個列表,對相同位置的列表資料進行相加

>>

>

map(

lambda x, y: x + y,[1

,3,5

,7,9

],[2

,4,6

,8,10

])[3

,7,11

,15,19

]

第三章 堆疊

1.基礎知識 堆疊可以實現很多的應用,遞迴的問題轉化成非遞迴形式,在本質上也是堆疊的問題.它是一種 filo 操作的資料結構,一般也有兩種儲存方式 陣列跟鍊錶實現形式,這裡我給出了鍊錶形式的堆疊模板,裡面包括了基本的堆疊所有的操作,還有兩個比較著名的應用例子,時間倉促,精力比較有限,關於迷宮老鼠還沒...

第三章 曙光

第三章 曙光 第二場校園招聘開始了。其實,洋對這個公司的不是很了解。因為前幾天突然在bbs上面看到了這個公司的招聘資訊,洋覺得這個公司不錯,就上網投了簡歷。接下來的乙個多小時,讓洋很震撼!想不到這個公司這個厲害,而且無論從哪方面來說,絕對不比之前的那個公司差。想不到自己的乙個不經意的決定到了這個大的...

第三章 遞迴

遞迴是一種強大的方法,它允許乙個物件以其自身更小的形式來定義自己。恐怕沒有什麼比觀察神秘的自然界中出現的遞迴現象更好的方法來體會遞迴的重要意義了。想想蕨類植物的葉子,每片葉子的小枝幹都是整片葉子的較小縮影 又或者兩個反光的物體,相互對映對方的漸遠的影像。這樣的例子使我們明白儘管大自然的力量是強大的,...