华为校园招聘上机笔试题 扑克牌大小(python)


Posted in Python onApril 22, 2020

本文为大家分享了华为校园招聘上机笔试题,供大家参考,具体内容如下

[编程题] 扑克牌大小
时间限制:10秒
空间限制:131072K
扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张。
牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王):) 
3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER 
输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格分隔,“-”两边没有空格,如:4 4 4 4-joker JOKER
请比较两手牌大小,输出较大的牌,如果不存在比较关系则输出ERROR

基本规则:

(1)输入每手牌可能是个子,对子,顺子(连续5张),三个,炸弹(四个)和对王中的一种,不存在其他情况,
由输入保证两手牌都是合法的,顺子已经从小到大排列;
(2)除了炸弹和对王可以和所有牌比较之外,其他类型的牌只能跟相同类型的存在比较关系
(如,对子跟对子比较,三个跟三个比较),不考虑拆牌情况(如:将对子拆分成个子)
(3)大小规则跟大家平时了解的常见规则相同,个子,对子,三个比较牌面大小;顺子比较最小牌大小;
炸弹大于前面所有的牌,炸弹之间比较牌面大小;对王是最大的牌;
(4)输入的两手牌不会出现相等的情况。

答案提示:

(1)除了炸弹和对王之外,其他必须同类型比较。
(2)输入已经保证合法性,不用检查输入是否是合法的牌。
(3)输入的顺子已经经过从小到大排序,因此不用再排序了.

输入描述:

输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格分隔,“-”两边没有空格,如4 4 4 4-joker JOKER。

输出描述:

输出两手牌中较大的那手,不含连接符,扑克牌顺序不变,仍以空格隔开;如果不存在比较关系则输出ERROR。

输入例子1:

4 4 4 4-joker JOKER

输出例子1:

joker JOKER
'''

'''
解题思路:仔细小心
   华为笔试的题目解题思路都很简单,一眼就能望到头,不需要太多思考,只要仔细小心的分析清楚每一种情况,
   就都能做出来
'''

'''
代码运行结果:
答案正确:恭喜!您提交的程序通过了所有的测试用例
'''

def judge_token(cs):
 length = len(cs)
 if length == 1:
 return 'single'
 elif length == 3:
 return 'triple'
 elif length == 4:
 return 'bomb'
 elif length == 5:
 return 'seq'
 elif length == 2:
 if cs == ['joker', 'JOKER']:
  return 'j-bomb'
 else:
  return 'double'
 
card_dict = {'3': 1, '4': 2, '5': 3, '6': 4, '7': 5, '8': 6, '9': 7, '10': 8, 'J': 9, 'Q': 10, 'K': 11,
  'A': 12, '2': 13, 'joker': 14, 'JOKER': 15}
 
while True:
 try:
 cards = input().split('-')
 cards_1 = cards[0].split()
 cards_2 = cards[1].split()
 cards_1_token = judge_token(cards_1)
 cards_2_token = judge_token(cards_2)
 if cards_1_token != 'bomb' and cards_1_token != 'j-bomb' and cards_2_token != 'bomb' and cards_2_token != 'j-bomb':
  if cards_1_token == cards_2_token:
  if card_dict[cards_1[0]] > card_dict[cards_2[0]]:
   print(' '.join(cards_1))
  else:
   print(' '.join(cards_2))
  else:
  print('ERROR')
 elif (cards_1_token == 'bomb' or cards_1_token == 'j-bomb') and (cards_2_token != 'bomb' and cards_2_token != 'j-bomb'):
  print(' '.join(cards_1))
 elif (cards_1_token != 'bomb' and cards_1_token != 'j-bomb') and (cards_2_token == 'bomb' or cards_2_token == 'j-bomb'):
  print(' '.join(cards_2))
 elif cards_1_token == 'bomb' and cards_2_token == 'j-bomb':
  print(' '.join(cards_2))
 elif cards_1_token == 'j-bomb' and cards_2_token == 'bomb':
  print(' '.join(cards_1))
 else:
  if card_dict[cards_1[0]] > card_dict[cards_2[0]]:
  print(' '.join(cards_1))
  else:
  print(' '.join(cards_2))
 except:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python和pyqt实现360的CLable控件
Feb 21 Python
Python编程实现双击更新所有已安装python模块的方法
Jun 05 Python
python生成词云的实现方法(推荐)
Jun 13 Python
Python基于列表list实现的CRUD操作功能示例
Jan 05 Python
基于python的图片修复程序(实现水印去除)
Jun 04 Python
python实现机器学习之多元线性回归
Sep 06 Python
python读取文件名并改名字的实例
Jan 07 Python
python tkinter实现屏保程序
Jul 30 Python
解析Python3中的Import
Oct 13 Python
如何使用python实现模拟鼠标点击
Jan 06 Python
python爬虫开发之selenium模块详细使用方法与实例全解
Mar 09 Python
详解python的异常捕获
Mar 03 Python
PyQt5实现从主窗口打开子窗口的方法
Jun 19 #Python
python操作kafka实践的示例代码
Jun 19 #Python
利用pyuic5将ui文件转换为py文件的方法
Jun 19 #Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
Jun 19 #Python
pyqt 实现为长内容添加滑轮 scrollArea
Jun 19 #Python
在Qt中正确的设置窗体的背景图片的几种方法总结
Jun 19 #Python
梅尔倒谱系数(MFCC)实现
Jun 19 #Python
You might like
计算2000年01月01日起到指定日的天数
2006/10/09 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
js获取提交的字符串的字节数
2009/02/09 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
JS数字抽奖游戏实现方法
2015/05/04 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
利用JavaScript实现拖拽改变元素大小
2016/12/14 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
BootStrap学习系列之布局组件(下拉,按钮组[toolbar],上拉)
2017/01/03 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
2018/12/13 Javascript
layUI实现三级导航菜单效果
2019/07/26 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
2020/11/05 Javascript
[01:45]IMBATV TI4前线报道-选手到达
2014/07/07 DOTA
python线程池的实现实例
2013/11/18 Python
Python类属性与实例属性用法分析
2015/05/09 Python
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
2018/09/04 Python
python中PyQuery库用法分享
2021/01/15 Python
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
舞蹈教育学专业推荐信
2013/11/27 职场文书
会计出纳岗位职责
2013/12/25 职场文书
教师对学生的评语
2014/04/28 职场文书
体育节口号
2014/06/19 职场文书
身边的榜样活动方案
2014/08/20 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
国庆放假通知怎么写
2015/07/30 职场文书
想要创业,那么你做好准备了吗?
2019/07/01 职场文书