引入的模块通常有三种类型,一种是系统库中存在的模块,一种是第三方模块,最后一种就是我们自己定义来的模块。当我们在写一个程序的时候,为了避免一个主程序的代码过于复杂,我们会将一些函数或功能写在单独的文件中,然后通过主程序调用这些自己定义的模块,我们自己定义的模块注意扩展名要以.py结尾。
本章节我们通过一个发牌游戏来学习自定义模块,题目为:
4个人玩牌,电脑随机将52张牌(不含大小王)发给4个人,在屏幕上显示每位牌手的牌。
问题分析:
1. 52张牌,按梅花0-12,方块13-25,红桃26-38,黑桃39-51顺序编号并存储在pocker列表中(未洗牌之前)。
2. 定义一个洗牌功能,随机产生两个位置索引,交换两个牌的位置,进行100次随机交换,达到洗牌的目的。
3. 发牌时,交换后pocker列表,按顺序加到四个牌手的列表中。
4. 52张牌发给4个人,每人13张,13轮循环,每次循环发给四个人。
5. 每人发一张牌的动作一样,用函数main实现。
6. 发一张牌的动作可以包含两部分:获取花色,获取数值,分别用get_color和get_value实现。
1. 创建模块
我们可以采用自定义模块来解决上面的问题,首先我们分析一下我们有几个功能要创建模块,洗牌和发牌这些都是可以放在主程序中的,每张牌的花色和数值我们是可以放在模块中的,那么我们就先来创建2个模块来完成这两个功能。
首先完成获取颜色的模块及其函数:
| 123456789 |
def get_color(n): if n
相关推荐
一、线程同步的概念和基本原理 在多线程编程中,线程之间的并发访问共享资源可能会引起一些问题,例如竞态条件、死锁、饥饿等问题。为了避免这些问题,需要使用线程同步技术。 线程同步是指在多个线程之间协调共享资源的访问,以保证数据的一致性和正确性。基本的线程同步原理是通过协调线程之间的访问顺序,以确保共享资源的正确访问。 二、Python中线程同步的实现方式 Python中线程同步主要有以下几种方式:锁、
链表反转是一个出现频率特别高的算法题,在各大算法高频题排行网站中也长期占领前三。比如在牛客网上这个No.1好像已经好久了: 所以链表反转是我们学习链表最重要的问题,没有之一。 这篇文章是给刚入门的小白看的,今天只涉及到基础的链表反转,并不会涉及到指定区间反转、K个一组反转这种进阶题。 对于整个链表的反转,我这里给出两种方式:一种是构建虚拟头节点,一种是不构建虚拟头节点,其中,带虚拟头节点的是很多底
如何在PHP中利用Xunsearch进行数据分析和挖掘 引言:随着互联网时代的到来,数据分析和挖掘成为了各行各业的重要工作。而在PHP开发中,如何利用Xunsearch进行数据分析和挖掘是一个关键问题。本文将介绍如何在PHP中使用Xunsearch进行数据分析和挖掘,并提供代码示例供读者参考。 安装Xunsearch首先,我们需要在服务器上安装Xunsearch,可以从Xunsearch官网上下载
利用Golang开发功能强大的桌面应用 随着互联网的不断发展,人们已经离不开各种类型的桌面应用程序。而对于开发人员来说,如何利用高效的编程语言来开发功能强大的桌面应用至关重要。本文将介绍如何利用Golang(Go语言)来开发功能强大的桌面应用,并提供一些具体的代码示例。 Golang是一种由Google开发的开源编程语言,它具有简洁、高效、并发性强等特点,非常适合用于开发各种类型的应用程序,包括桌
在开发过程中,我们常常会遇到这样的场景。 有一个列表,但是我们需要根据列表的不同类型查询并显示对应类型的数据。如头图所示。这里有一个很明确的现象就是,不同的类型会对应不同的列表,但是当我们代入抽象思维思考一下就能轻易发现,除了类型不同之外,其他的所有特性都是一样的。 一样的接口、一样的 UI、一样的类型、一样的交互。因此我们很容易会想到,把多个类型的列表当成同一个列表来处理,当 type 发生变化
回到顶部
|