Python挑戰(zhàn)100題(14~20)

14、信息加密

題目:給你個(gè)小寫英文字符串a(chǎn)和一個(gè)非負(fù)數(shù)b(0<=b<26), 將a中的每個(gè)小寫字符替換成字母表中比它大b的字母聂儒。這里將字母表的z和a相連,如果超過了z就回到了a过咬。
例如a="cagy", b=3,
則輸出 :fdjb
提示: ord('a') = 97, ord('b') = 98, chr(97) = a
參考答案:

a = 'cagy'
b = 3
c = ''
for i in a:
    if ord(i)+b <=122:
        c = c + chr(ord(i)+b)
    else:
        c = c + chr(ord(i)+b-26)
print(c)

15佛猛、回文子串

題目:給你一個(gè)字符串a(chǎn)和一個(gè)正整數(shù)n,判斷a中是否存在長度為n的回文子串。如果存在涌萤,則輸出YES淹遵,否則輸出NO。
回文串的定義:記串str逆序之后的字符串是str1负溪,若str=str1,則稱str是回文串透揣,如"abcba".
參考答案:

a = 'dfkdghabcba'
n = 5
result = 'NO'
for i in range(len(a)):
    if i+n <= len(a):
        str = a[i:i+n:1]
        str1 = str[::-1]
        if str == str1:
            result = 'YES'
            break
print(result)

16、時(shí)間就是金錢

題目:給你兩個(gè)時(shí)間st和et(00:00:00<=st <= et<=23:59:59), 請你給出這兩個(gè)時(shí)間間隔的秒數(shù)川抡。
如:st="00:00:00", et="00:00:10", 則輸出10.
參考答案:
方法一:切片

st="00:01:00"
et="00:02:10"
list_st = st.split(':')
list_et = et.split(':')
for i in range(0,len(list_st)):
    list_st[i] = int(list_st[i])
    list_et[i] = int(list_et[i])

st_second = list_st[0]*3600 + list_st[1]*60 +list_st[2]
et_second = list_et[0]*3600 + list_et[1]*60 +list_et[2]
print(et_second - st_second)

方法二:time模塊

import datetime

st="00:01:00"
et="00:02:10"
print((datetime.datetime.strptime(et,"%H:%M:%S")-datetime.datetime.strptime(st,"%H:%M:%S")).seconds)

17辐真、格式化時(shí)間

題目:給你一個(gè)時(shí)間t(t是一個(gè)字典,共有六個(gè)字符串key(year,month,day,hour,minute,second),值為每個(gè)值為數(shù)字組成的字符串崖堤,
如t={'year':'2013','month':'9','day':'30','hour':'16','minute':'45','second':'2'}
請將其按照以下格式輸出拆祈, 格式:XXXX-XX-XX XX:XX:XX。如上例應(yīng)該輸出: 2013-09-30 16:45:02倘感。
參考答案:
方法一:利用datetime模塊

import datetime

t = {'year':'2013','month':'9','day':'30','hour':'16','minute':'45','second':'2'}
ss = '{year}-{month}-{day} {hour}:{minute}:{second}'.format(**t)

print(datetime.datetime.strptime(ss,'%Y-%m-%d %H:%M:%S'))

方法二:一行

t = {'year':'2013','month':'9','day':'30','hour':'16','minute':'45','second':'2'}
print('%d-%02d-%02d %02d:%02d:%02d' % (int(t['year']),int(t['month']),int(t['day']),int(t['hour']),int(t['minute']),int(t['second'])))

18、序列判斷

題目:給你一個(gè)整數(shù)組成的列表L咙咽,按照下列條件輸出:
若L是升序排列的,則輸出"UP";
若L是降序排列的,則輸出"DOWN";
若L無序老玛,則輸出"WRONG"。
參考答案:

L = [1,2,3,4,2]
print('UP' if sorted(L)==L else 'DOWN' if sorted(L,reverse=True)==L else 'WRONG')

19钧敞、加油站

題目:一個(gè)環(huán)形的公路上有n個(gè)加油站蜡豹,編號(hào)為0,1,2,...n-1,
每個(gè)加油站加油都有一個(gè)上限,保存在列表limit中溉苛,即limit[i]為第i個(gè)加油站加油的上限镜廉,
而從第i個(gè)加油站開車開到第(i+1)%n個(gè)加油站需要cost[i]升油,cost為一個(gè)列表。
現(xiàn)在有一輛開始時(shí)沒有油的車愚战,要從一個(gè)加油站出發(fā)繞這個(gè)公路跑一圈回到起點(diǎn)娇唯。
給你整數(shù)n,列表limit和列表cost,你來判斷能否完成任務(wù)寂玲。
如果能夠完成任務(wù)塔插,輸出起始的加油站編號(hào),如果有多個(gè),輸出編號(hào)最小的拓哟。
如果不能完成任務(wù)想许,輸出-1。
參考答案:
構(gòu)造新的limit和cost并遍歷,來源http://www.pythontip.com/coding/report_detail/3195/

ret = n                                # 返回值先取n(n不可能為有效結(jié)果)
for i in range(n):
    new_limit = limit[i:] + limit[:i] # 每次循環(huán)都構(gòu)造新的limit和cost,起始點(diǎn)從0到n-1遍歷
    new_cost = cost[i:] + cost[:i]
    gas,new_i = 0,0                    # 表示起始的油量和新的序號(hào)
    while new_i < n:
        gas = gas + new_limit[new_i] - new_cost[new_i] # 加油并消耗
        if gas < 0:                    # 油量小于0流纹,則無法到達(dá)下一個(gè)加油站糜烹,退出當(dāng)前循環(huán)
            break 
        new_i += 1
    else:
        ret = i                        # 循環(huán)到了n,確認(rèn)可以到達(dá)終點(diǎn)漱凝,退出循環(huán)
        break
else:                                  # 遍歷了全部構(gòu)造的新limit和cost疮蹦,無結(jié)果,返回-1
    ret = -1
print(ret)

20碉哑、判斷是否存在相同數(shù)字

題目:給你一個(gè)整數(shù)列表L,判斷L中是否存在相同的數(shù)字挚币,
若存在,輸出YES扣典,否則輸出NO妆毕。
參考答案:

L = [1,2,3,4,4,5]
print('YES' if len(L)!=len(set(L)) else 'NO')
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市贮尖,隨后出現(xiàn)的幾起案子笛粘,更是在濱河造成了極大的恐慌,老刑警劉巖湿硝,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件薪前,死亡現(xiàn)場離奇詭異,居然都是意外死亡关斜,警方通過查閱死者的電腦和手機(jī)示括,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來痢畜,“玉大人垛膝,你說我怎么就攤上這事《∠。” “怎么了吼拥?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長线衫。 經(jīng)常有香客問我凿可,道長,這世上最難降的妖魔是什么授账? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任枯跑,我火速辦了婚禮,結(jié)果婚禮上白热,老公的妹妹穿的比我還像新娘全肮。我一直安慰自己,他們只是感情好棘捣,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布辜腺。 她就那樣靜靜地躺著休建,像睡著了一般。 火紅的嫁衣襯著肌膚如雪评疗。 梳的紋絲不亂的頭發(fā)上测砂,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音百匆,去河邊找鬼砌些。 笑死,一個(gè)胖子當(dāng)著我的面吹牛加匈,可吹牛的內(nèi)容都是我干的存璃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼雕拼,長吁一口氣:“原來是場噩夢啊……” “哼纵东!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起啥寇,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤偎球,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后辑甜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體衰絮,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年磷醋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了猫牡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡邓线,死狀恐怖淌友,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情褂痰,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布症虑,位于F島的核電站缩歪,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏谍憔。R本人自食惡果不足惜匪蝙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望习贫。 院中可真熱鬧逛球,春花似錦、人聲如沸苫昌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至奥务,卻和暖如春物独,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背氯葬。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國打工挡篓, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人帚称。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓官研,卻偏偏與公主長得像,于是被迫代替她去往敵國和親闯睹。 傳聞我的和親對象是個(gè)殘疾皇子戏羽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

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

  • 在C語言中,五種基本數(shù)據(jù)類型存儲(chǔ)空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,342評(píng)論 0 2
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 6,409評(píng)論 0 17
  • 計(jì)算機(jī)二級(jí)C語言上機(jī)題庫(南開版) 1.m個(gè)人的成績存放在score數(shù)組中瞻坝,請編寫函數(shù)fun,它的功能是:將低于平...
    MrSunbeam閱讀 6,366評(píng)論 1 42
  • 常用模塊 認(rèn)識(shí)模塊 什么是模塊 什么是模塊所刀? 常見的場景:一個(gè)模塊就是一個(gè)包含了python定義和聲明的文件衙荐,文...
    go以恒閱讀 1,947評(píng)論 0 6
  • 現(xiàn)如今很多年輕人,由于工作學(xué)習(xí)壓力特別大浮创,晚上都有了熬夜的習(xí)慣忧吟,這種情況我相信大家都有經(jīng)歷過。經(jīng)常熬夜的人群他也會(huì)...
    起點(diǎn)_ceed閱讀 322評(píng)論 0 1