华为2016笔试-扑克牌大小比较游戏 python接法

2023-05-16

这几天刷题,发现该题没有python的程序,正好在学python,尝试写了下,没有用任何库,写的不好,有很多改进的地方
基于python3.7

扑克牌游戏大家应该都比较熟悉了,一副牌由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。

输入例子:
4 4 4 4-joker JOKER

输出例子:
joker JOKER

def change2(a):
        a = a.replace('J', '11')
        a = a.replace('Q', '13')
        a = a.replace('K', '14')
        a = a.replace('A', '15')
        a = a.replace('2', '16')
        return a
def change1(a):
        a = a.replace('joker', '300')
        a = a.replace('JOKER', '300')
        return a
def sum1(a):
        b = 0
        for i in range(len(a)):
                b = int(int(a[i]) + b)
        if min(a) == max(a) and (len(a) == 4):
                b *= len(a)
        return b
def pd(a):
        c = 0
        b = 0
        if len(a) == 4:
                if min(a) == max(a):
                        c = 1#zha
        elif len(a) == 2:
                if int(a[0]) == 300:
                        c = 1#zha
        return c
def out (AA, BB, a, b):
        if sum1(AA) > sum1(BB):
                print(a)
        else:
                print(b)


get = input()
get = get.split('-')
a = get[0]
b = get[1]
AA = change2(change1(a))
BB = change2(change1(b))
AA = AA.split(" ")
BB = BB.split(" ")
if len(AA) != len(BB):
        if pd(AA) + pd(BB) >= 1:
                out(AA,BB,a,b)
        else:
                print('ERROR')
else:
        out(AA, BB, a, b)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华为2016笔试-扑克牌大小比较游戏 python接法 的相关文章

随机推荐

  • python-roslaunch : 依赖: python-roslib 但是它将不会被安装

    在配置环境中将python配置删除类 xff0c 导致ROS系统的好多依赖都没了 安装配置ROS时遇到问题 xff1a 1 先按ROS WIKI上进行安装 xff0c 之后进行测试看是否安装上 2 测试代码 xff1a 第一个终端 xff1
  • pycharm函数调用关系可视化(Graphviz + pycallgraph画图)

    文章目录 介绍Graphviz 安装pycallgraph安装实践 介绍 一个 python project 中往往包含很多 py 文件 python文件中又会包含很多函数 xff0c 函数之间相互传参和调用 如果遇到代码行数很多的情况 x
  • Linux下的UDP通信

    socket 函数 函数说明 xff1a 建立新的socket通信 头文件 xff1a include lt sys socket h gt include lt sys types h gt 函数定义 xff1a int socket i
  • error: array type has incomplete element type ‘int[]‘

    项目场景 xff1a 数组作为函数的形参 问题描述 xff1a error array type has incomplete element type 39 int 39 原因分析 xff1a 多维数组做为函数参数时 xff0c 只可以省
  • 【stm32F1_GPIO初始化函数的参数含义】

    文章目录 前言一 LED 点灯实验二 疑问记录1 问题描述2 问题解决 总结 前言 之前学习过51 xff0c 现在转学32 xff0c 由于课题组需要 xff0c 我需要尽量短的时间内掌握stm32的用法以及Freertos的操作系统 从
  • 使用 curl 命令发送 POST 请求的几种方式

    使用 curl 命令发送 POST 请求的几种方式 HTTP 的 POST 请求通常是用于提交数据 xff0c 可以通过这篇文章来了解各种提交方式 xff1a 常见的 POST 提交数据方式 做 Web 后端开发时 xff0c 不可避免地要
  • Linux环境下GCC以及ELF的初步使用

    Linux环境下可执行程序的安装和GCC以及ELF的初步使用 xff0c 熟悉第三方函数库及游戏程序介绍 一 可执行程序的安装过程1 使用用gcc生成 a静态库与 so动态库文件2 静态库文件的使用3 动态库文件使用 二 gcc编译工具集中
  • 动态库和静态库

    前言 xff1a 库是已写好的 供使用的 可复用代码 xff0c 每个程序都要依赖很多基础的底层库 从本质上 xff0c 库是一种可执行代码的二进制形式 可以被操作系统载入内存执行 库分为两种 xff1a 静态库 xff08 a lib x
  • c++封装yolov4进行目标检测

    yolo4是用c 43 43 写的 xff0c 在工程中的部署特别方便 之前项目中使用yolov4 xff0c 取得了不错的效果 在这里记录一下 使用官方接口调用 xff0c 我们首先得编译darknet动态库 xff0c 下载yolov4
  • 【FPGA】FPGA实现UART串口通信回环

    目录 一 UART协议基础二 系统模块划分三 代码实现1 uart顶层设计模块2 uart rx串口数据接收模块3 control控制模块4 uart tx串口数据发送模块 四 仿真五 上板验证六 踩坑事项 一 UART协议基础 关于UAR
  • MessageFilter [target=odom ]: Dropped 95.28% of messages so far.Please turn the [ros.gmapping.messag

    由于树莓派自身运算能力不足 xff0c 稳定性较为欠缺 xff0c 一些功能复杂的功能包运行速度较慢 xff0c 在笔记本上能更快更好的完成相应任务 实验过程中 xff0c 可以利用分布式原理 xff0c 设置机器人工控机为从机 xff0c
  • ./a.out: error while loading shared libraries: libcjson.so.1: cannot open shared object file: No suc

    问题 用自己的库编写程序运行时报错 xff1a a out error while loading shared libraries libcjson so 1 cannot open shared object file No such
  • 20种vscode快捷键操作,助你高逼格高效率写代码

    一 代码格式 此快捷键可以缩进编辑器设置中已设置的代码 代码格式 提示 xff1a 在结尾或开头使用 笔者更倾向于在处理完文件中的代码后使用 在Windows系统 xff1a Shift键 43 Alt键 43 F键 在Mac系统 xff1
  • Jetson xavier Nx & jetson nano 上手 + 刷机

    本教程基于Jetson xavier Nx开发套件 本教程参考Nvidia官方刷机教程 制作启动盘 在官方下载中心下载SD卡镜像并解压 下载SD Memory Card Formatter 需要划到页面最下方 xff0c 点击 Accept
  • 2017阿里研发工程师C/C++实习生招聘笔试题

    1 做股票的人总会忍不住幻想 xff1a 如果知道明天怎样就好了 那么问题来了 xff0c 如果打开上帝视角 xff0c 你最好能做到怎样 xff1f 真实世界的股票交易规则太复杂 xff0c 我们这里做一些简化 首先我们假设有N个股票和M
  • http digest认证过程分析及例子

    验证过程 xff1a 步骤一 客户端向服务器申请数据 Request GET auth HTTP 1 1 r n Accept r n Host 192 168 1 15 r n Content Length 0 r n r n r n 步
  • 用IMU监测力量训练中的杠铃速度,帮助科学界和体育界评估杠杆运动学

    大家好 xff0c 惯师科技致力于分享IMU前沿科研资讯 xff0c 今天和大家分享一篇验证IMU xff08 惯性测量单元 xff09 自动获取卧推过程中杠铃速度的有效性和可靠性的论文 为验证基于IMU设备自动获取卧推运动过程中的杠铃速度
  • FPGA学习笔记(1)

    之前虽说有学习FPGA 主要是verilog xff0c 但真正的具体应用还是少 xff0c 基本是在修改师兄的代码 然后最近也一直在学习c和python xff0c 所以好久没看verilog了 本来真的不想再看的 xff0c 但工作也是
  • python pip使用

    python使用pip管理包十分详细 xff0c 这里记录常用的pip操作 xff08 windows xff09 1 查看pip版本 pip V 2 升级pip版本 方法一 xff1a pip install upgrade pip 方法
  • 华为2016笔试-扑克牌大小比较游戏 python接法

    这几天刷题 xff0c 发现该题没有python的程序 xff0c 正好在学python xff0c 尝试写了下 xff0c 没有用任何库 xff0c 写的不好 xff0c 有很多改进的地方 基于python3 7 扑克牌游戏大家应该都比较