
Python:1014 福尔摩斯的约会
第一个字符的范围为 [A-G],需要将其转换为对应的星期几编号(1:MON,2:TUE,3:WED,4:THU,5:FRI,6:SAT,7:SUN)。 第二个字符的范围为 [A-N] 或 [0-9],需要将其转换为对应的数字编号(A对应1,B对应2,...,N对应14,0对应10,依此类推)。
发布日期:2021-05-07 19:52:41
浏览次数:13
分类:精选文章
本文共 1981 字,大约阅读时间需要 6 分钟。
文章目录
一、题目
题目:请根据用户提供的四个字符串,通过比较相同位置的字符,确定其对应的编号。具体规则如下:
二、代码
思路总结
- 需要比较两个字符串的对应位置字符,确保它们在相同位置上字符相等。
- 第一个字符在 [A-G] 范围内,第二个字符在 [A-N] 或 [0-9] 范围内。
- 由于需要相同位置的字符相同,所以判断可以从两个字符串的较短长度开始比较。
代码实现
import redef test1(s1, s2): result = [] for i in range(min(len(s1), len(s2))): if s1[i] == s2[i]: if len(result) == 0 and re.findall(r'[A-G]', s1[i]): temp = ord(s1[i]) - ord('A') + 1 result.append(day[temp]) elif len(result) == 1 and re.findall(r'[A-N]|[0-9]', s1[i]): if re.findall(r'[A-N]', s1[i]): temp = ord(s1[i]) - ord('A') + 1 temp = str(temp + 9) result.append(temp) return else: temp = '0' + s1[i] result.append(temp) returndef test2(s1, s2): result = [] for i in range(min(len(s1), len(s2))): if s1[i].isalpha(): if s1[i] == s2[i]: if i < 10: temp = '0' + str(i) result.append(temp) return else: result.append(str(i)) returnstring1 = input().strip()string2 = input().strip()string3 = input().strip()string4 = input().strip()day = { 1: 'MON', 2: 'TUE', 3: 'WED', 4: 'THU', 5: 'FRI', 6: 'SAT', 7: 'SUN'}result = []test1(string1, string2)test2(string3, string4)print("%s %s:%s" % (result[0], result[1], result[2]))
代码解释
test1 函数:用于比较两个字符串的对应位置字符,并根据规则将结果转换为编号。
- 遍历两个字符串的较短长度,逐个字符比较。
- 如果是第一个字符且在 [A-G] 范围内,将其转换为对应的星期几编号。
- 如果是第二个字符且在 [A-N] 或 [0-9] 范围内,将其转换为对应的数字编号。
- 一旦找到匹配项,立即返回结果。
test2 函数:用于比较两个字符串的对应位置字符,并将结果转换为编号。
- 遍历两个字符串的较短长度,逐个字符比较。
- 如果字符相同且字符范围在 [A-N] 或 [0-9] 内,将其转换为对应的数字编号。
- 一旦找到匹配项,立即返回结果。
主程序:
- 读取输入的四个字符串。
- 调用 test1 和 test2 函数获取结果。
- 输出最终结果。
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月11日 22时18分36秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【网络通信 -- 直播】音视频常见封装格式 -- FLV
2019-03-04
【C/C++基础进阶系列】C/C++ 对象模型 -- 类基础知识总结(三)
2019-03-04
【C/C++基础进阶系列】C/C++ 对象模型 -- 对象语义
2019-03-04
基于FPGA的HDMI信号采样原理
2019-03-04
Spring 与使用STOMP消息
2019-03-04
Linux 查看系统语言
2019-03-04
十 一、C语言创建桌面程序:单选按钮、复选框和分组框控件
2019-03-04
Java Swing JList:列表框组件
2019-03-04
AngularJS $q
2019-03-04
jQuery中的动画
2019-03-04
Linux host命令
2019-03-04
MongoDB 查询分析
2019-03-04
编写Makefile.am
2019-03-04
狂神说MySQL01:初识MySQL
2019-03-04
5.3.2 等待一段时间:编写延时循环
2019-03-04
1.2.3 项目、项目集、项目组合以及运营管理之间的关系
2019-03-04
光环和你一起迎接改版
2019-03-04
1.12 项目和运营的区别
2019-03-04
2.1 组织运行环境
2019-03-04