Codility每周一課:P90.1?LongestPassword

0.png
P90.1 LongestPassword

Given a string containing words, find the longest word that satisfies specific conditions.

  • P90.1 最長密碼
    給定一個包含密碼的字符串瞳筏,找到符合條件的密碼中長度最長的

要為銀行帳戶設(shè)置密碼簸呈。但是滤否,只有滿足下面3個條件的密碼才是有效的:

  1. 它只能包含字母和數(shù)字,例如(A?Z虏等、A?Z、0?9)蝠引;

  2. 字母的個數(shù)為偶數(shù)轻绞;

  3. 數(shù)字的個數(shù)為奇數(shù);

一個由N個字符組成的字符串S窿春。字符串中的密碼以空格來劃分拉一,目標是選擇有效的密碼中最長的采盒。如果字符串S中有k個空格,那么說明正好有K+1個密碼蔚润。

例如磅氨,給定字符串“test 5 a0A pass007 ?xy1“,共有5個密碼嫡纠,但是其中只有3個是有效的密碼:“5”烦租、“a0A”和“pass007”。因此最長的密碼是“pass007”除盏,其長度是7叉橱。注意,密碼“?xy1”中因為“?”不是字母或數(shù)字者蠕,“test”中包含偶數(shù)(0)個數(shù)字窃祝,所以均不是有效的。

編寫函數(shù):

def solution(S)

給定由N個字符組成的非空字符串S踱侣,則返回有效密碼中長度最長的粪小。如果不存在有效的密碼,函數(shù)應(yīng)該返回?1泻仙。例如糕再,針對上面的示例,函數(shù)應(yīng)該返回7玉转。

假定:

  1. N是區(qū)間[1突想,200]內(nèi)的整數(shù);
  2. 字符串S僅由ASCII字符和空格組成究抓。
  • 解題思路
    利用Python的函數(shù)ord來判斷密碼的字符是否符合條件猾担。
  • Python3代碼
 -*- coding:utf-8 -*-
# &Author  AnFany
# Lesson 90:Tasks from Indeed Prime 2015 challenge
# P 90.1 LongestPassword


def solution(S):
    """
    返回字符串S中符合條件的最長的字符串長度
    :param S: 字符串
    :return: 最長字符串的長度
    """
    split_list = S.split(' ')
    print(split_list)

    lower = list(range(ord('a'), ord('z')+1))
    upper = list(range(ord('A'), ord('Z')+1))
    digit = list(range(ord('0'), ord('9')+1))

    str_length = []
    for i in split_list:
        sign = 1
        alpha = 0
        number = 0
        for h in i:
            if ord(h) in lower or ord(h) in upper:
                alpha += 1
            elif ord(h) in digit:
                number += 1
            else:
                sign = 0
                break
        if sign:
            if not alpha % 2 and number % 2:
                str_length.append(len(i))
    if len(str_length) == 0:
        return -1
    else:
        return max(str_length)
  • 結(jié)果
image

點擊獲得更多編程練習(xí)題。歡迎Follow刺下,感謝Star!!! 掃描關(guān)注微信公眾號pythonfan绑嘹,獲取更多。

image
image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末橘茉,一起剝皮案震驚了整個濱河市工腋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌畅卓,老刑警劉巖擅腰,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異翁潘,居然都是意外死亡趁冈,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來渗勘,“玉大人沐绒,你說我怎么就攤上這事⊥梗” “怎么了乔遮?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長价淌。 經(jīng)常有香客問我申眼,道長,這世上最難降的妖魔是什么蝉衣? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任括尸,我火速辦了婚禮,結(jié)果婚禮上病毡,老公的妹妹穿的比我還像新娘濒翻。我一直安慰自己,他們只是感情好啦膜,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布肪凛。 她就那樣靜靜地躺著龄砰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上漾狼,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天兼呵,我揣著相機與錄音柱恤,去河邊找鬼楔壤。 笑死,一個胖子當(dāng)著我的面吹牛肌稻,可吹牛的內(nèi)容都是我干的清蚀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼爹谭,長吁一口氣:“原來是場噩夢啊……” “哼枷邪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起诺凡,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤东揣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后腹泌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嘶卧,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年真屯,在試婚紗的時候發(fā)現(xiàn)自己被綠了脸候。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片穷娱。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡绑蔫,死狀恐怖运沦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情配深,我是刑警寧澤携添,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站篓叶,受9級特大地震影響烈掠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜缸托,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一左敌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧俐镐,春花似錦矫限、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至棍苹,卻和暖如春无宿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背枢里。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工孽鸡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坡垫。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓梭灿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親冰悠。 傳聞我的和親對象是個殘疾皇子堡妒,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容