十八位居民身份證號碼由六位數(shù)字地址碼、八位數(shù)字出生日期碼、三位數(shù)字順序碼和一位校驗碼組成(其中倒數(shù)第二位是性別代碼,男單女雙),其格式如下。根據(jù)題目要求完成以下算法部分填空。
(1)身份證號碼的校驗碼位可能出現(xiàn)字母“X”,存儲身份證號碼的數(shù)據(jù)類型可能是
B
B
。
A.int
B.str
C.float
D.bool
(2)如果使用變量ID存儲了某一身份證號,需要編程截取身份證號碼中包含的出生日期,輸出格式如下:您的出生日期為:xxxx年xx月。請將以下代碼補充完整:
ID=“31012320060712****” print(“您的出生日期為:”,ID[6:10 6:10 ],“年”,ID[10:12],“月”) |
(3)如果使用變量ID存儲了某一身份證號,需要識別持有該身份證人員的性別(身份證號的倒數(shù)第二位表示性別,男單女雙),請將以下代碼補充完整:
ID=“310123********9040” ifint(ID[16]) %2==1或者%2!=0 %2==1或者%2!=0 : print(“性別為男”) else: print(“性別為女”) |
(4)如果已通過算法截取某一身份證的出生年月日,并將其轉(zhuǎn)換為整數(shù)類型后保存在變量birth中。請設(shè)計一個算法,用于判斷該身份證月份的合法性。
birth=20061712 month=(birth//100)% 100 (birth//100)% 100 if 1<=month<=12: print(“日期格式正確”) else: print( “日期格式不正確” “日期格式不正確” ) |
(5)在上述程序中身份證的一些部分采用了“*”特殊字符加以處理。
①請你簡述在大數(shù)據(jù)處理中為何要對數(shù)據(jù)做這樣的操作?
②如果有一個存有大量數(shù)據(jù)的DataFrame對象,我們?nèi)绾闻繉@些數(shù)據(jù)進行上述操作?