Python基础题型实战08-编写函数判断一张牌的花色

简介: 人生最困难的时候,也许正是转变的时候:改变固有的思想,人生就可能迎来转机。幸运,总是离努力的人更近一些。

需求

编写一个名为 GetACard 的函数,该函数从用户输入的一行中读取面值(1-13),后跟一个空格,然后是一张牌的花色(C D H S, 如 ‘C 12’。 然后检查任一输入是否无效,如果无效,请要求用户重新输入卡片。 当输入有效时,将卡片的元组返回给调用程序。 包括一个主程序,根据用户需要多次调用该函数。

实战

代码实现


def GetACard(string):
    colourList=[' C',' D',' H',' S']
    result = []
    for colour in colourList:
        colour_index = string.find(colour)
        if colour_index == 0:
            continue
        elif colour_index == 1:
            if string[0]>='1' and string[0]<='9':
                str = string[2] + ' ' + string[0]
                result.append(str)
        else:
            last_char  = string[colour_index - 2]
            last_char1 = string[colour_index - 1]
            if last_char == '1' and last_char1 > '0' and last_char1 < '4':
                str = string[colour_index + 1] + ' ' + last_char + last_char1
                result.append(str)
            elif last_char1 > '0' and last_char1 <= '9':
                str = string[colour_index + 1] + ' ' + last_char1
                result.append(str)
    return tuple(result)


def main():
    while True:
        string = input("请输入一行字符:")
        result =GetACard(string)
        if not result :
            print("输入无效卡片,请重新输入:")
        else:
            print(result)
if __name__ == '__main__':
    main()

如果学习上有遇到问题,加/:yiyi990805(备注:阿里云tony)即可。

如果本文对你学习有所帮助-可以点赞👍+ 关注!将持续更新更多新的文章。

支持原创。感谢!

相关文章
|
1天前
|
网络协议 Python
Python 网络编程实战:构建高效的网络应用
【5月更文挑战第18天】Python在数字化时代成为构建网络应用的热门语言,因其简洁的语法和强大功能。本文介绍了网络编程基础知识,包括TCP和UDP套接字,强调异步编程、数据压缩和连接池的关键作用。提供了一个简单的TCP服务器和客户端代码示例,并提及优化与改进方向,鼓励读者通过实践提升网络应用性能。
18 6
|
1天前
|
算法 Java Python
【Python 的内存管理机制专栏】Python 内存管理实战:性能优化与内存泄漏检测
【5月更文挑战第18天】Python内存管理关乎程序性能与稳定性。优化包括避免过多临时对象,如优化列表推导式减少对象创建。警惕循环引用造成的内存泄漏,如示例中的Node类。使用`gc`模块检测泄漏,通过`gc.set_debug(gc.DEBUG_LEAK)`和`gc.collect()`获取信息。实践中需持续分析内存使用,优化算法、数据结构和资源释放,以提升程序质量与效率。
【Python 的内存管理机制专栏】Python 内存管理实战:性能优化与内存泄漏检测
|
1天前
|
程序员 开发者 Python
Python中的装饰器:优雅而强大的函数修饰工具
在Python编程中,装饰器是一种强大的工具,它可以简洁地实现函数的增强、扩展和重用。本文将深入探讨Python中装饰器的工作原理、常见应用场景以及如何自定义装饰器,帮助读者更好地理解和运用这一重要的编程概念。
|
1天前
|
数据采集 Python
10个Python set 常用操作函数!,bilibili面试题
10个Python set 常用操作函数!,bilibili面试题
10个Python set 常用操作函数!,bilibili面试题
|
2天前
|
数据采集 数据挖掘 Python
Python学习——函数,2024年最新手持4个大厂offer的我
Python学习——函数,2024年最新手持4个大厂offer的我
|
2天前
|
数据采集 数据挖掘 关系型数据库
Excel计算函数(计算机二级)(1),2024年最新2024Python架构面试指南
Excel计算函数(计算机二级)(1),2024年最新2024Python架构面试指南
|
2天前
|
存储 Java Shell
【Python学习教程】Python函数和lambda表达式_6(1),2024蚂蚁金服面试题及答案
【Python学习教程】Python函数和lambda表达式_6(1),2024蚂蚁金服面试题及答案
|
2天前
|
Python
Python基础教程: math库常用函数(1),Python这些高端技术只有你还不知道
Python基础教程: math库常用函数(1),Python这些高端技术只有你还不知道
|
2天前
|
机器学习/深度学习 数据采集 自然语言处理
python函数参数的传递、带星号参数的传递,2024年大厂Python高级面试题分享
python函数参数的传递、带星号参数的传递,2024年大厂Python高级面试题分享
|
3天前
|
Python
Python 使用type()函数
【5月更文挑战第10天】
12 4