Python各种数据结构的循环No.5

                        Python各种数据结构的循环 

# -*- coding: utf-8 -*-

#列表:可以对元素增删改查
# list1 = ['Google', 'Runoob', 1997, 2000];
# list2 = [1, 2, 3, 4, 5, 6, 7];
# list1[0]='百度'
# print("list1[0]: ", list1[0])
# print("list2[1:5]: ", list2[1:5])

#列表循环
# results = [['yuyu','26','1111'],['xingxing','26','2222']]
# for site in results:
#     user_name = site[0]
#     print(user_name)


#元组:不可以对元素增删改差
# tup1 = ('Google', 'Runoob', 1997, 2000)
# tup2 = (1, 2, 3, 4, 5, 6, 7)
# tup=tup1+tup2
# print(tup)
# print("tup1[0]: ", tup1[0])
# print("tup2[1:5]: ", tup2[1:5])

#元组循环
# results = (('1', '2', '3', '4', '5', '6'),('11', '22', '33', '44', '55', '66'),('111', '222', '333', '444', '555', '666'))
# for site in results:
#     user_name = site[0]
#     print(user_name)


#字典:可以对元素增删改差
# dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
# dict['Name']='yuyu'
# print(dict['Name'])
# print("dict['Name']: ", dict['Name'])
# print("dict['Age']: ", dict['Age'])

#字典循环
# results = [{'name':'yuyu','age':26,'phone':17732351013},{'name':'xingxing','age':26,'phone':17732352053}]
# for site in results:
#     user_name = site['name']
#     print(user_name)



#集合:元素不可以重复
# basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
# print(basket)

# n = 100
# sum = 0
# counter = 1
# while counter <= n:
#     sum = sum + counter
#     counter += 1
#
# print("1 到 %d 之和为: %d" % (n, sum))

 

Python中可以设计许多有趣的小游戏来教学其基本的数据结构,比如列表(Lists)、元组(Tuples)和字典(Dictionaries)。下面是一个简单的例子,我们可以通过制作一个“记忆匹配”(Memory Game)来教授这三种数据结构: **游戏概述**: 玩家需要翻开两张牌,如果它们相配(例如,都是数字或都是单词),就赢得分数;如果不相配,卡片会再次翻回原位。我们可以使用列表存储牌堆,元组表示每对卡(一张隐藏,一张翻开),而字典用于跟踪得分。 **实现步骤**: 1. **列表**: 创建一个包含元素的列表,如数字或字符串,作为初始牌堆。 2. **元组**: 对应每个列表元素,创建一个元组,其中一个元素随机隐藏,另一个可见。 3. **字典**: 初始化一个字典记录玩家得分,键通常是游戏轮数。 4. **循环**: 游戏过程中,让玩家选择翻开一对卡片,检查是否匹配,并更新得分。 5. **条件判断**: 判断元素是否相等,以及是否已翻开过,更新显示状态。 **代码示例**: ```python import random # 牌堆 cards = ['A', 'B', 'C', 'D', 'E', 'F'] deck = [(random.choice(cards), None)] * len(cards) # 得分 score_dict = {'Score': 0} def flip_cards(card1_index): if deck[card1_index][1] is not None: return deck[card1_index], deck[deck[card1_index][0]] else: revealed_card = deck[card1_index] deck[card1_index] = (None, revealed_card[1]) return revealed_card, deck[random.randint(0, len(deck)-1)] while True: card1, card2 = flip_cards(random.randint(0, len(deck)-1)) if card1[0] == card2[0]: print(f"Match! Card {card1[0]} found.") score_dict['Score'] += 1 else: print(f"No match. Cards: {card1[0]}, {card2[0]}.") # 游戏结束条件可以设定为完成所有匹配或达到一定得分 if all(card[1] is not None for card in deck) or score_dict['Score'] >= 8: break print("Game over! Your final score:", score_dict['Score']) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值