总项目目标:用面向过程思想设计一个简单的纸牌游戏程序,称为"Higher or Lower"(高还是低)。游戏中,玩家需要猜测接下来的一张牌是比当前牌高还是低。根据猜测的准确性,玩家可以得到或失去相应的积分。为后续对比面向对象编程思想做准备。
项目1.1 定义纸牌的花色和点数,遍历并打印出所有的花色和点数
SUIT_TUPLE = ('黑桃', '红心', '梅花', '方块')
RANK_TUPLE = ('A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K')
for suit in SUIT_TUPLE:
print(suit, end=' ')
print()
for rank in RANK_TUPLE:
print(rank, end=' ')
print()
for thisValue, rank in enumerate(RANK_TUPLE):
print(thisValue, rank, end=', ')
print()
效果如下:
程序分析:
定义了两个元组常量SUIT_TUPLE
和RANK_TUPLE
,分别表示纸牌的花色和点数。
通过for
循环遍历SUIT_TUPLE
中的元素,并使用print()
函数将每个花色打印出来,使用空格作为分隔符。在print()
函数结束后,使用不带参数的print()
语句输出一个空行。
使用另一个for
循环遍历RANK_TUPLE
中的元素,并使用print()
函数将每个点数打印出来,同样使用空格作为分隔符。在print()
函数结束后,使用不带参数的print()
语句输出一个空行。
我们使用enumerate()
函数将RANK_TUPLE
中的元素与它们的索引关联起来。通过使用for
循环遍历这些关联元组,我们将索引和对应的点数一起打印出来,并使用逗号作为分隔符。在print()
函数结束后,使用不带参数的print()
语句输出一个空行。
enumerate()
函数返回一个包含索引和元素的元组,其中索引保存在变量thisValue
中,而元素保存在变量rank
中。在每次循环中,使用print()
函数打印出thisValue
和rank
的值,即点数的索引和对应的点数。这样,每个点数的索引和点数值都会被打印一次。