Python面向对象编程1-面向过程的简单纸牌游戏程序 项目1.4 打印牌的点数和花色

本文主要是介绍Python面向对象编程1-面向过程的简单纸牌游戏程序 项目1.4 打印牌的点数和花色,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

总项目目标:用面向过程思想设计一个简单的纸牌游戏程序,称为"Higher or Lower"(高还是低)。游戏中,玩家需要猜测接下来的一张牌是比当前牌高还是低。根据猜测的准确性,玩家可以得到或失去相应的积分。为后续对比面向对象编程思想做准备。

项目1.4   打印抽出牌的点数和花色

import randomSUIT_TUPLE = ('黑桃', '红心', '梅花', '方块')
RANK_TUPLE = ('A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K')#洗牌函数
def shuffle(deckListIn):deckListOut = deckListIn.copy()  # 生成一副牌的副本random.shuffle(deckListOut)  # 洗牌return deckListOut#抽牌函数
def getCard(deckListIn):thisCard = deckListIn.pop()  # 从牌组中取第一张牌return thisCard#存储生成的初始牌组
startingDeckList = []#两个嵌套的循环创建一个包含牌的字典cardDict,其中包括点数、花色和用于比较大小的值
#并将各张牌的字典添加到startingDeckList列表中。
for suit in SUIT_TUPLE:for thisValue, rank in enumerate(RANK_TUPLE):cardDict = {'rank': rank, 'suit': suit, 'value': thisValue + 1}startingDeckList.append(cardDict)#洗牌,将返回的洗牌后的牌组赋值给gameDeckList
gameDeckList = shuffle(startingDeckList)#抽取一张牌,将该牌的信息以字典形式保存在currentCardDict中
currentCardDict = getCard(gameDeckList)#通过字典索引将抽取的牌的点数、花色和用于比较大小的值分别赋值
currentCardRank = currentCardDict['rank']
currentCardValue = currentCardDict['value']
currentCardSuit = currentCardDict['suit']#打印输出当前抽取的牌的信息,包括花色和点数,以及用于比较大小的值
print('当前抽出的牌是', currentCardSuit+currentCardRank)
print("当前抽出的牌用于比较大小的值为", currentCardValue)

效果如下:

程序分析:

这段程序的功能是模拟一副扑克牌的洗牌和抽牌过程,并输出当前抽取的牌的信息。

程序定义了两个函数用于洗牌和抽牌

接下来,创建一个空列表startingDeckList,用于存储生成的牌组。

通过两个嵌套的循环创建一个包含牌的字典cardDict,其中包括点数、花色和用于比较大小的值,并将该字典添加到startingDeckList列表中。

接下来,调用shuffle()函数对startingDeckList进行洗牌,将返回的洗牌后的牌组赋值给gameDeckList

然后,调用getCard()函数从洗牌后的牌组gameDeckList中抽取一张牌,将该牌的信息以字典形式保存在currentCardDict中。

通过字典索引将抽取的牌的点数、花色和用于比较大小的值分别赋值给currentCardRankcurrentCardSuitcurrentCardValue变量。

最后,程序打印输出当前抽取的牌的信息,包括花色和点数,以及用于比较大小的值。

注意:由于牌组是随机洗牌的,每次运行程序的结果可能不同。

这篇关于Python面向对象编程1-面向过程的简单纸牌游戏程序 项目1.4 打印牌的点数和花色的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/847561

相关文章

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu2289(简单二分)

虽说是简单二分,但是我还是wa死了  题意:已知圆台的体积,求高度 首先要知道圆台体积怎么求:设上下底的半径分别为r1,r2,高为h,V = PI*(r1*r1+r1*r2+r2*r2)*h/3 然后以h进行二分 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#includ

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

usaco 1.3 Prime Cryptarithm(简单哈希表暴搜剪枝)

思路: 1. 用一个 hash[ ] 数组存放输入的数字,令 hash[ tmp ]=1 。 2. 一个自定义函数 check( ) ,检查各位是否为输入的数字。 3. 暴搜。第一行数从 100到999,第二行数从 10到99。 4. 剪枝。 代码: /*ID: who jayLANG: C++TASK: crypt1*/#include<stdio.h>bool h