第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用于驗(yàn)證日期和性別代碼的Python代碼

用于驗(yàn)證日期和性別代碼的Python代碼

楊__羊羊 2023-09-26 14:08:07
我正在創(chuàng)建一個 python 程序來檢查 7 位社會安全號碼,以以下格式告訴該人的出生日期和性別:(我無法使用 datetime 函數(shù))。例如,當(dāng)用戶輸入社會安全號碼(例如1504084)時,程序會說出他們的出生日期和性別。最后一個數(shù)字“4”表示該人是2000年以后出生的女性(1:1999年之前出生的男性,2:1999年之前出生的女性,3:2000年之后出生的男性,4:2000年之后出生的女性)。[期望輸出]Enter your social registration number>>> 1504084You were born on **2015/04/08**You are a female born after 2000然而,上面的粗體行始終顯示為“1915/04/08”。誰能檢查我下面的代碼并告訴我我做錯了什么?提前致謝!這是我的代碼:YY = int(SSN[0:2])MM = int(SSN[2:4])DD = int(SSN[4:6])G = int(SSN[6])def yearcheck(G, YY): #?? 4???? ??, G? 1,2??? 1900~1999, 3,4? ?? 2000 ??    if G == 1 or 2:        return 1900 + YY    elif G == 3 or 4:        return 2000 + YY    else:        return False#???? ??def leapyear(YYYY):    if YYYY % 4 == 0:        return True    else:        return Falsedef monthcheck(MM):    if (MM > 0) and (MM < 13):        return True    else:        return Falsedef daycheck(SSN):    mgroup1 = [1,3,5,7,8,10,12]    mgroup2 = [4,6,9,11]    for m in mgroup1: #1-31? ??        if MM == m:            if DD >=1 and DD <= 31:                return True            else:                return False    for m in mgroup2: #1-30? ?? ?        if MM == m:            if DD >=1 and DD <=30:                return True            else:                return False    if MM == 2:        # ????? ??? ??(??? 1-29? ??, ?????? 1-28???)        if leapyear(YYYY)==True:            if DD >=1 and DD <=29:                return True            else:                return False        else:            if DD >=1 and DD <=28:                return True            else:                return Falsedef valid_date_check(YY, MM, DD, G):    if yearcheck(G,YY) != False:        if monthcheck(MM)==True:            if daycheck(DD)==True:                return True            else:                False        else:            False    else: False
查看完整描述

3 回答

?
qq_遁去的一_1

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個贊

我相信你的問題是if G == 1 or 2:。這就是說它是 G 或 2。我認(rèn)為你需要的是if G == 1 or G == 2。


def yearcheck(G, YY): 

    if G == 1 or G == 2:

        return 1900 + YY

    elif G == 3 or G == 4:

        return 2000 + YY

    else:

        return False


查看完整回答
反對 回復(fù) 2023-09-26
?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個贊

您的 if 語句中有一些錯誤。更改所有這些語句:

if G == 1 or 2:

if G == 1 or G==2:

或者

if G in (1, 2):

現(xiàn)在,您的代碼認(rèn)為 2 是正確的,因此它將 19+YY 傳遞給結(jié)果


查看完整回答
反對 回復(fù) 2023-09-26
?
交互式愛情

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個贊

問題是你應(yīng)該寫if G == 1 or G == 2 ,因?yàn)?code>2它本身總是評估為 True;

類似地對于if G == 3 or G == 4


查看完整回答
反對 回復(fù) 2023-09-26
  • 3 回答
  • 0 關(guān)注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號