Python 基础练习 PAT水题(一)
2017-04-26 16:12
351 查看
#学习笔记
#用以练习Python基础
#
#原题链接 https://www.patest.cn/contests/pat-b-practise/1046
AC代码
#原题链接:https://www.patest.cn/contests/pat-b-practise/1041
原题链接:https://www.patest.cn/contests/pat-b-practise/1044
地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。
火星人将进位以后的12个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jou。
例如地球人的数字“29”翻译成火星文就是“hel mar”;而火星文“elo nov”对应地球数字“115”。为了方便交流,请你编写程序实现地球和火星数字之间的互译。输入格式:输入第一行给出一个正整数N(<100),随后N行,每行给出一个[0, 169)区间内的数字 —— 或者是地球文,或者是火星文。输出格式:对应输入的每一行,在一行中输出翻译后的另一种语言的数字。输入样例:
#用以练习Python基础
#
#原题链接 https://www.patest.cn/contests/pat-b-practise/1046
1046. 划拳(15)
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。输入格式:输入第一行先给出一个正整数N(<=100),随后N行,每行给出一轮划拳的记录,格式为:甲喊 甲划 乙喊 乙划其中“喊”是喊出的数字,“划”是划出的数字,均为不超过100的正整数(两只手一起划)。输出格式:在一行中先后输出甲、乙两人喝酒的杯数,其间以一个空格分隔。输入样例:5 8 10 9 12 5 10 5 10 3 8 5 12 12 18 1 13 4 16 12 15输出样例:
1 2
AC代码
n=int(input()) x=y=0 for i in range(n): L=str(input()) L=L.split(' ') a1=int(L[0]) a2=int(L[1]) b1=int(L[2]) b2=int(L[3]) if(a2==a1+b1 and a2!=b2): x=x+1 if(b2==a1+b1 and a2!=b2): y=y+1 print("%d %d" % (y,x))
#原题链接:https://www.patest.cn/contests/pat-b-practise/1041
1041. 考试座位号(15)
每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数N(<=1000),随后N行,每行给出一个考生的信息:“准考证号 试机座位号 考试座位号”。其中准考证号由14位数字组成,座位从1到N编号。输入保证每个人的准考证号都不同,并且任何时候都不会把两个人分配到同一个座位上。考生信息之后,给出一个正整数M(<=N),随后一行中给出M个待查询的试机座位号码,以空格分隔。输出格式:对应每个需要查询的试机座位号码,在一行中输出对应考生的准考证号和考试座位号码,中间用1个空格分隔。输入样例:4 10120150912233 2 4 10120150912119 4 1 10120150912126 1 3 10120150912002 3 2 2 3 4输出样例:
10120150912002 2 10120150912119 1AC代码
n=int(input()) #lists = [[] for i in range(n)] lists=[] for i in range(n): lists.append(str(input()).split(' ')) m=int(input()) x = str(input()) x = x.split(' ') for k in x: for j in range(n): if(lists[j][1]==k): print(lists[j][0],lists[j][2]) break
原题链接:https://www.patest.cn/contests/pat-b-practise/1044
1044. 火星数字(20)
火星人是以13进制计数的:地球人的0被火星人称为tret。地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。
火星人将进位以后的12个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jou。
例如地球人的数字“29”翻译成火星文就是“hel mar”;而火星文“elo nov”对应地球数字“115”。为了方便交流,请你编写程序实现地球和火星数字之间的互译。输入格式:输入第一行给出一个正整数N(<100),随后N行,每行给出一个[0, 169)区间内的数字 —— 或者是地球文,或者是火星文。输出格式:对应输入的每一行,在一行中输出翻译后的另一种语言的数字。输入样例:
4 29 5 elo nov tam输出样例:
hel mar may 115 13AC代码
N=int(input()) base=['tret','jan','feb', 'mar', 'apr', 'may', 'jun', 'jly', 'aug', 'sep', 'oct', 'nov', 'dec'] high=['tam', 'hel', 'maa', 'huh', 'tou', 'kes', 'hei', 'elo', 'syy', 'lok', 'mer', 'jou'] def Mars2Earth(mars): S=mars.split(' ') if len(S) ==2: print((high.index(S[0])+1)*13+base.index(S[1])) else: try: print(base.index(S[0])) except: print((high.index(S[0])+1)*13) def Earth2Mars(earth): h=earth//13 if earth%13!=0 and h >0: print(high[h - 1], end=' ') print(base[earth%13]) elif h>0 and earth%13==0: print(high[h - 1]) elif h==0: print(base[earth%13]) for i in range(N): L=str(input()) if L.isdecimal() ==True: Earth2Mars(int(L)) else: Mars2Earth(L)
相关文章推荐
- Python 基础练习 PAT水题(三)
- Python 基础练习 PAT水题(二)
- Python 基础练习 PAT水题(四)
- 输出包含共同元素的变量值 分类: python 小练习 python基础学习 2014-03-11 13:55 188人阅读 评论(0) 收藏
- 使用文件进行优化 分类: python 小练习 divide into python python基础学习 2014-01-01 14:13 228人阅读 评论(0) 收藏
- 使用os.popen/commands.getoutput查询指定端口号的服务 分类: python 小练习 open()文件读写 python基础学习 2013-09-17 17:49 798人阅读 评论(0) 收藏
- 删除列表元素时需注意的问题 分类: python基础学习 python 小练习 2013-10-09 14:02 293人阅读 评论(0) 收藏
- 递归调用输出元素 分类: python 小练习 python基础学习 2013-06-30 11:54 278人阅读 评论(0) 收藏
- classmethod类方法 分类: python 小练习 python基础学习 2014-02-07 10:36 214人阅读 评论(0) 收藏
- 生成器介绍 分类: python 小练习 python基础学习 divide into python 2013-12-31 21:17 226人阅读 评论(0) 收藏
- 生成器的应用例子 分类: python 小练习 divide into python python基础学习 2013-12-31 21:32 236人阅读 评论(0) 收藏
- 蓝桥杯 基础练习 01字串(水题)
- Python 基础练习
- 蓝桥杯 基础练习 字母图形(水题,图形输出)
- 继承父类,调用父类中的方法 分类: python 小练习 python基础学习 2014-01-10 17:54 325人阅读 评论(0) 收藏
- 移除连续重复的字符串元素 分类: python 小练习 python基础学习 divide into python 2014-01-01 15:53 392人阅读 评论(0) 收藏
- 猜数字 分类: python 小练习 python基础学习 2013-06-20 15:16 160人阅读 评论(0) 收藏
- python数据持久存储:pickle模块的基本使用 分类: python python基础学习 python 小练习 2013-06-17 14:41 209人阅读 评论(0) 收藏
- 文件操作注意事项 分类: python 小练习 python基础学习 open()文件读写 2013-12-03 11:05 532人阅读 评论(0) 收藏
- 蓝桥杯 基础练习 十进制转十六进制(水题,进制转换)