通晓Python列表和字典,实现一个简单“狼人杀”

Hello,小数先生粗线啦~~~今天教大家制作一款简单版“狼人杀”

数据类型:列表(list)

a.描述:列表由一系列按特定顺序排列的元素组成。用方括号[]来表示,用逗号来分隔其中的元素

注:列表中元素的类型可以不相同,它支持数字、字符串甚至可以包含列表

b.提取单个元素:列表名[索引值]

列表中每个元素都是有序地排列,每个元素都有自己的位置编号(索引值)。我们可以使用列表名加索引值的中括号,提取相应位置的元素

注:索引值是从0开始,所以第一个元素'小明'的索引值是0

例

students=['数仁信息','小数先生','Anna']print(students[0])

输出结果

数仁信息

提取多个元素:列表名[start : stop]

提取多个元素我们可以通道列表的切片(类似数学的区间)操作

例

students = ['数仁信息','小数先生','Anna',11.11,666]

print(students[0:2])

#等同于print(students[:2])

print(students[1:3])

print(students[2:5])

#等同于print(students[2:])

print(students[:])

注:1.切片取左不取右(类似左闭右开区间)2.冒号左边没有值从头开始取,右边没有值取到最后一个元素

列表增加元素:列表名.append(新元素)

例

students = ['数仁信息','小数先生','Anna']

students.append(666)

print(students)

输出

['数仁信息', '小数先生', 'Anna', 666]

注:append每次只能添加一个元素

删除元素:del 列表名[索引值] or 列表名[star : stop]

例

students = ['数仁信息','小数先生','Anna','spider man','luffy',"Night's King"]

del students[3]

print(students)

del students[3:]

print(students)

输出

['数仁信息', '小数先生', 'Anna', 'luffy', "Night's King"]

['数仁信息', '小数先生', 'Anna']

总结图


数据类型:字典

描述:字典的每个键值(key:value)对用冒号:分割,每个对之间用逗号,分割,整个字典包括在花括号{}中

注:字典例键值具备唯一性,而值可重复

提取元素:字典名[键]

例

storeys = {'小数先生':11,'Anna':50,'fiona':39}

print(storeys['Anna'])

输出结果

50

注:如果新增的键原字典存在,则改变原字典键对应的值

删除元素:del 字典名[键]

例

storeys = {'小数先生': 11, 'Anna': 50, 'fiona': 39, 'Toni': 16}

del storeys['Toni']

print(storeys)

输出

{'小数先生': 11, 'Anna': 50, 'fiona': 39}

总结图

简单狼人杀代码

import random

import time

ID_list = ['村民','猎人','狼人']

ID_dict = {'1':'村民','2':'猎人','3':'狼人'}

print('欢迎来到狼人杀游戏')

time.sleep(1)

print('选择你的身份,然后抽取卡片')

time.sleep(1)

print('''

村民遇到猎人获得胜利,村民遇到狼人被击杀

猎人遇到狼人获得胜利,猎人遇到农民狼逃跑

狼人遇到村民获得胜利,狼人遇到猎人被击杀

''')

time.sleep(1)

print('-----------------------------------------')

time.sleep(1)

User_Choice = input('''1.【村民】  2.【猎人】  3.【狼人】

选择你的身份(输入数字):''')

User_ID = ID_dict[User_Choice]

print('你选择的身份是【{}】'.format(User_ID )+ '\n')

time.sleep(1)

card_choice = input('''1.【♠】 2.【♥】 3.【♣】

抽取上面卡片(输入数字):''')

Computer_Choice_ID = random.choice(ID_list)

time.sleep(0.5)

result = input('按回车查看结果' + '\n')

if User_ID == Computer_Choice_ID:

    print('没想到,对方也是【{}】,一起抱团取暖'.format(Computer_Choice_ID))

elif User_ID == ID_list[ID_list.index(Computer_Choice_ID)-1]:

    print('恭喜你,你遇到了【{}】,获得了胜利'.format(Computer_Choice_ID))

else:

    print('很遗憾,你遇到了【{}】,战役失败了'.format(Computer_Choice_ID))

time.sleep(0.5)

print('-----------------------------------------')

下一篇文章小数先生教大家用python制作一个动态二维码。也可以关注公众号数仁信息回复动态二维码查看源码

作者丨小数先生

来源丨公众号数仁信息

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容