B1014 福爾摩斯的約會 python

2021-10-04 01:35:57 字數 1886 閱讀 7901

大偵探福爾摩斯接到一張奇怪的字條:我們約會吧! 3485djdkxh4hhge 2984akdfkkkkggedsb s&hgsfdk d&hyscvnm。大偵探很快就明白了,字條上奇怪的亂碼實際上就是約會的時間星期四 14:04,因為前面兩字串中第 1 對相同的大寫英文本母(大小寫有區分)是第 4 個字母 d,代表星期四;第 2 對相同的字元是 e ,那是第 5 個英文本母,代表一天裡的第 14 個鐘頭(於是一天的 0 點到 23 點由數字 0 到 9、以及大寫字母 a 到 n 表示);後面兩字串第 1 對相同的英文本母 s 出現在第 4 個位置(從 0 開始計數)上,代表第 4 分鐘。現給定兩對字串,請幫助福爾摩斯解碼得到約會的時間。

輸入格式:

輸入在 4 行中分別給出 4 個非空、不包含空格、且長度不超過 60 的字串。

輸出格式:

在一行中輸出約會的時間,格式為 day hh:mm,其中 day 是某星期的 3 字元縮寫,即 mon 表示星期一,tue 表示星期二,wed 表示星期三,thu 表示星期四,fri 表示星期五,sat 表示星期六,sun 表示星期日。題目輸入保證每個測試存在唯一解。

輸入樣例:

3485djdkxh4hhge

2984akdfkkkkggedsb

s&hgsfdk

d&hyscvnm

輸出樣例:

thu 14:04

ls1 =

input()

.strip(

)ls2 =

input()

.strip(

)ls3 =

input()

.strip(

)ls4 =

input()

.strip(

)day =

['mon'

,'tue'

,'wed'

,'thu'

,'fri'

,'sat'

,'sun'

]for i in

range

(min

(len

(ls1)

,len

(ls2)))

:if ls1[i]

== ls2[i]

and'a'

<= ls1[i]

<=

'g':

n1 =

ord(ls1[i])-

65print

(day[n1]

, end='')

k = i

break

for i in

range

(k +1,

min(

len(ls1)

,len

(ls2)))

:if ls1[i]

== ls2[i]

and'a'

<= ls1[i]

<=

'n':

hour =

ord(ls1[i])-

65+10break

elif ls1[i]

== ls2[i]

and ls[1]

.isdigit():

hour =

eval

(ls1[i]

)break

for i in

range

(min

(len

(ls3)

,len

(ls4)))

:if ls3[i]

== ls4[i]

: mins = i

break

print

(" :"

.format

(hour, mins)

)

三個測試點非零返回???

B1014 福爾摩斯的約會 20

大偵探福爾摩斯接到一張奇怪的字條 我們約會吧!3485djdkxh4hhge 2984akdfkkkkggedsb s hgsfdk d hyscvnm 大偵探很快就明白了,字條上奇怪的亂碼實際上就是約會的時間 星期四 14 04 因為前面兩字串中第1對相同的大寫英文本母 大小寫有區分 是第4個字母...

B1014 福爾摩斯的約會 20分

這道題的細節真的是多到 寫的有點亂,注意點全在 上了 主要學到了裡的兩個函式isdigit 和isalpha 可以快速判斷輸入的字元是數字還是英文本母 順便還重新看了for迴圈中表示式的執行順序,外加break之後i 不會再執行 果然基礎還是得紮實 include include include i...

1014 福爾摩斯的約會

題目是pat乙級 思路 模擬題 按照條件找到相應的字元就行了。訓練目的 字串操作 題目描述 大偵探福爾摩斯接到一張奇怪的字條 我們約會吧!3485djdkxh4hhge 2984akdfkkkkggedsb s hgsfdk d hyscvnm 大偵探很快就明白了,字條上奇怪的亂碼實際上就是約會的時...