华为校园招聘上机笔试题 扑克牌大小(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 相关文章推荐
pyqt4教程之messagebox使用示例分享
Mar 07 Python
查看django执行的sql语句及消耗时间的两种方法
May 29 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
Python实现快速傅里叶变换的方法(FFT)
Jul 21 Python
Python中最大递归深度值的探讨
Mar 05 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
Apr 26 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
Sep 18 Python
Django框架序列化与反序列化操作详解
Nov 01 Python
tensorflow 模型权重导出实例
Jan 24 Python
Django 解决上传文件时,request.FILES为空的问题
May 20 Python
Python爬虫小例子——爬取51job发布的工作职位
Jul 10 Python
Python+Selenium实现读取网易邮箱验证码
Mar 13 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限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
一个经典实用的PHP图像处理类分享
2014/11/18 PHP
php中adodbzip类实例
2014/12/08 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
jQuery温习篇 强大的JQuery选择器
2010/04/24 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
2018/03/05 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
vue实现评价星星功能
2020/06/30 Javascript
深入理解Python变量与常量
2016/06/02 Python
Python socket网络编程TCP/IP服务器与客户端通信
2017/01/05 Python
python学习之hook钩子的原理和使用
2018/10/25 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
2019/07/30 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
Python创建一个元素都为0的列表实例
2019/11/28 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
2020/02/26 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
GLAMGLOW香港官网:明星出镜前的秘密武器
2017/03/16 全球购物
车辆维修工自我评价怎么写
2013/09/20 职场文书
工作中个人的自我评价
2013/12/31 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
爱情保证书
2015/01/17 职场文书
2015年学校教务处工作总结
2015/05/11 职场文书
军训后的感想
2015/08/07 职场文书
golang elasticsearch Client的使用详解
2021/05/05 Golang
详解在OpenCV中如何使用图像像素
2022/03/03 Python