【新 2023】华为 od 机试 - 判断牌型(python)
时间: 2023-05-08 19:59:53 浏览: 165
华为od机试中的题目“判断牌型”是一道经典的扑克牌小游戏,在游戏中要求我们输入5张扑克牌,然后判断它们的牌型,包括同花顺、四条、葫芦、同花、顺子、三条、两对、一对、高牌这九种不同的牌型。
为了解决这个问题,我们需要首先读入5张扑克牌的牌面,并把它们转化为数字值,然后通过对它们数字大小的比较和数值的统计来识别各种不同的牌型。具体实现方法是:
1.首先读入牌面并转化为数字值。如:{'AC', '5C', 'KD', 'JS', '9D'} 转化为[14, 5, 13, 11, 9]。
2.然后通过对数字大小进行排序,方便后面的牌型判断。如上述牌面排序后为[5, 9, 11, 13, 14]。
3.然后进行数值统计,用某一个数字出现的次数来判断牌型。如上述牌面中5个数字不同,因此不存在葫芦、四条、三条等牌型,只能是高牌、一对、两对、顺子、同花、同花顺中的一种。
4.判断顺子牌型需要判断差值是否都是1,判断同花顺需要先判断是否同花再判断是否顺子。
5.判断两对和一对需要统计数字出现次数,两对需要出现两个数字各两次,一对需要出现一个数字两次。
最后按照规定输出这五张牌的牌型,若牌型为“高牌”则输出最大的一张牌,并以牌型从大到小的顺序依次输出。
通过以上的实现,我们就可以成功识别出输入的五张扑克牌的牌型,并正确输出。
相关问题
【新2023】华为od机试 - 吃火锅(python)
题目要求:计算一个火锅店的消费金额。
解题思路:
首先,根据题目描述和给定的输入,我们需要获取用户选择的菜品类型和数量,以及桌面人数。然后,根据价格表计算每种菜品的消费金额,并累加得到总金额。最后,根据桌面人数设置折扣,并计算最终应付金额。
具体实现:
1. 首先定义一个价格字典,将每种菜品的类型与价格对应起来。
2. 读取输入的菜品类型和数量,可以使用循环进行多次输入,将用户选择的菜品类型和数量保存到一个列表中。
3. 根据菜品列表,计算每种菜品的消费金额,使用循环遍历列表,根据菜品类型从价格字典中获取价格,并与数量相乘得到消费金额,并累加得到总金额。
4. 根据输入的桌面人数设置折扣,如人数大于等于4人则折扣为0.8,否则折扣为1。
5. 根据折扣和总金额计算最终应付金额,并输出结果。
代码示例:
```python
# 定义价格字典
price_dict = {
'鱼丸': 10,
'牛肉': 25,
'豆腐': 8,
# 其他菜品及其价格
}
# 读取菜品类型和数量
dish_list = []
while True:
dish_type = input('请输入菜品类型(输入q退出):')
if dish_type == 'q':
break
dish_count = int(input('请输入菜品数量:'))
dish_list.append((dish_type, dish_count))
# 计算消费金额
total_amount = 0
for dish_type, dish_count in dish_list:
total_amount += price_dict[dish_type] * dish_count
# 设置折扣
people_count = int(input('请输入桌面人数:'))
if people_count >= 4:
discount = 0.8
else:
discount = 1
# 计算最终应付金额
final_amount = total_amount * discount
# 输出结果
print('您的消费金额为:{}元'.format(final_amount))
```
以上就是描述该问题的解决方案和示例代码,通过以上的步骤,我们可以得到用户在该火锅店消费的最终金额。
华为od机试-2023真题-考点分类
华为OD机试-2023真题主要考察了以下几个方面的知识点:
1. 数据结构与算法:题目涉及了常见的数据结构和算法,如数组、链表、树、图、排序、搜索等。要求考生熟悉这些数据结构的基本操作和常用算法的实现方法。
2. 编程语言:题目要求使用C++或Java语言完成编程任务,要求考生熟悉相应语言的语法和常用的库函数使用方法。
3. 网络通信:题目涉及了网络通信相关的知识点,如TCP/IP协议、HTTP协议、socket编程等。要求考生了解网络通信的基本概念和实现方式。
4. 操作系统:题目要求考生熟悉操作系统相关的知识,如进程管理、内存管理、文件系统等。要求考生了解操作系统的基本功能和实现原理。
5. 数据库:题目涉及了数据库相关的知识点,如SQL语句的编写、数据库的设计和优化等。要求考生具备数据库的基本操作和设计能力。
6. 设计模式:题目要求考生能够根据给定的需求设计相应的对象和类,并且符合设计模式的原则。要求考生熟悉常见的设计模式和其应用场景。
7. 系统设计与架构:题目要求考生从整体上设计和实现一个系统,并考虑系统的性能、可扩展性等因素。要求考生了解系统设计的基本原则和方法。
以上是华为OD机试-2023真题的一些考点分类。考生在复习备考时,可以根据这些考点有针对性地进行学习和练习,提升自己的应试能力。
阅读全文