华为校园招聘上机笔试题 扑克牌大小(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中的闭包和装饰器
Jun 12 Python
Python中用post、get方式提交数据的方法示例
Sep 22 Python
深入理解Django的自定义过滤器
Oct 17 Python
python安装scipy的方法步骤
Jun 26 Python
安装好Pycharm后如何配置Python解释器简易教程
Jun 28 Python
使用 Python 处理 JSON 格式的数据
Jul 22 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
Dec 18 Python
python下载卫星云图合成gif的方法示例
Feb 18 Python
Python安装whl文件过程图解
Feb 18 Python
django 实现简单的插入视频
Apr 07 Python
Python Django搭建网站流程图解
Jun 13 Python
pytorch 查看cuda 版本方式
Jun 23 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
PHP 采集获取指定网址的内容
2010/01/05 PHP
PHP远程采集图片详细教程
2014/07/01 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
Laravel实现autoload方法详解
2017/05/07 PHP
PHP实现的抓取小说网站内容功能示例
2019/06/27 PHP
jQuery 性能优化指南(3)
2009/05/21 Javascript
JS面向对象编程之对象使用分析
2010/08/19 Javascript
firefox下input type="file"的size是多大
2011/10/24 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
Nodejs中解决cluster模块的多进程如何共享数据问题
2016/11/10 NodeJs
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
微信小程序批量上传图片到七牛(推荐)
2019/12/19 Javascript
python采用requests库模拟登录和抓取数据的简单示例
2014/07/05 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
python相似模块用例
2016/03/04 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
python虚拟环境virtualenv的使用教程
2017/10/20 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
下载官网python并安装的步骤详解
2019/10/12 Python
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
两则小学生的自我评价分享
2013/11/14 职场文书
公司总经理岗位职责
2014/03/15 职场文书
2014全国两会心得体会
2014/03/17 职场文书
试用期工作表现自我评价
2015/03/06 职场文书
医院合作意向书范本
2015/05/08 职场文书
法制主题班会教案
2015/08/13 职场文书
导游词之澳门妈祖庙
2019/12/19 职场文书
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技