Python 列表

name_list = ["zhangsan", "lisi", "wangwu"]

# 1. 取值和取索引
# list index out of range - 列表索引超出范围
print(name_list[2])

# 知道数据的内容,想确定数据在列表中的位置
# 使用index方法需要注意,如果传递的数据不在列表中,程序会报错!
print(name_list.index("wangwu"))

# 2. 修改
name_list[1] = "李四"
# list assignment index out of range
# 列表指定的索引超出范围,程序会报错!
# name_list[3] = "王小二"

# 3. 增加
# append 方法可以向列表的末尾追加数据
name_list.append("王小二")
# insert 方法可以在列表的指定索引位置插入数据
name_list.insert(1, "小美眉")
print(name_list)
#['zhangsan', '小美眉', '李四', 'wangwu', '王小二']

# extend 方法可以把其他列表中的完整内容,追加到当前列表的末尾
temp_list = ["孙悟空", "猪二哥", "沙师弟"]
name_list.extend(temp_list)
print(name_list)

# 4. 删除
# remove 方法可以从列表中删除指定的数据
name_list.remove("wangwu")
# pop 方法默认可以把列表中最后一个元素删除
name_list.pop()
print(name_list)
#['zhangsan', '小美眉', '李四', '王小二', '孙悟空', '猪二哥']
# pop 方法可以指定要删除元素的索引
name_list.pop(3)
# clear 方法可以清空列表
name_list.clear()

print(name_list)
#[]

列表中的del 删除

name_list = ["张三", "李四", "王五"]
# (知道)使用 del 关键字(delete)删除列表元素
# 提示:在日常开发中,要从列表删除数据,建议使用列表提供的方法
del name_list[1]
# del 关键字本质上是用来将一个变量从内存中删除的
name = "小明"
del name
# 注意:如果使用 del 关键字将变量从内存中删除
# 后续的代码就不能再使用这个变量了
print(name_list)

列表中的数据统计

 

name_list = ["张三", "李四", "王五", "王小二", "张三"]
# len(length 长度) 函数可以统计列表中元素的总数
list_len = len(name_list)
print("列表中包含 %d 个元素" % list_len)
# count 方法可以统计列表中某一个数据出现的次数
count = name_list.count("张三")
print("张三出现了 %d 次" % count)
# 从列表中删除第一次出现的数据,如果数据不存在,程序会报错
name_list.remove("张三")
print(name_list)

列表的排序

 

name_list = ["zhangsan", "lisi", "wangwu", "wangxiaoer"]
num_list = [6, 8, 4, 1, 10]
# 升序
name_list.sort()
num_list.sort()
print(name_list)
print(num_list)
# ['lisi', 'wangwu', 'wangxiaoer', 'zhangsan']
# [1, 4, 6, 8, 10]
# 降序
# name_list.sort(reverse=True)
# num_list.sort(reverse=True)
# 逆序(反转)
name_list.reverse()
num_list.reverse()
print(name_list)
print(num_list)

列表的遍历

name_list = ["张三", "李四", "王五", "王小二"]
# 使用迭代遍历列表
"""
顺序的从列表中依次获取数据,每一次循环过程中,数据都会保存在 
my_name 这个变量中,在循环体内部可以访问到当前这一次获取到的数据

for my_name in 列表变量:

    print("我的名字叫 %s" % my_name)

"""
for my_name in name_list:

    print("我的名字叫 %s" % my_name)
 

 

 

 

4.骑士飞行棋

 

1.正常:搞地图

 集合140

  1. 走:A:6   list[3]=AB

AB~~~~~AB~~~~~~~~~~~&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

3.花样

 地图弯曲

#:4+2

&:后退

#!/usr/bin/env python
import random

# ○◇☆★▲△■♂♂♀§、

map=[]
for i in range(140):
    if i%13==0 or i in [28,46,80]:
        map.append('★')
    elif i in [33,66,88,108,137]:
        map.append('◎')
    elif i in [25,75,125]:
        map.append('■ ')
    else:
        map.append('_ ')

p1_flag=True
p2_flag=True
def pause(p):
    if p==p1:
        p1_flag=False
    else:
        p2_flag=False

def show_map():
    for i in range(40):
        if map[i]=='A ':
            print('\033[7;31;0m%s\033[0m'%map[i],end='')
        elif map[i]=='B ':
            print('\033[7;32;0m%s\033[0m'%map[i],end='')
        elif map[i]=='C ':
            print('\033[7;36;0m%s\033[0m'%map[i],end='')
        elif map[i]=='D ':
            print('\033[7;33;0m%s\033[0m'%map[i],end='')
        else:
            print('\033[7;1;0m%s\033[0m'%map[i],end='')
    print()
    for i in range(40,50):
        if map[i]=='A ':
            print('  '*43+'\033[7;31;0m%s\033[0m'%map[i])
        elif map[i]=='B ':
            print('  '*43+'\033[7;32;0m%s\033[0m'%map[i])
        elif map[i]=='C ':
            print('  '*43+'\033[7;36;0m%s\033[0m'%map[i])
        elif map[i]=='D ':
            print('  '*43+'\033[7;33;0m%s\033[0m'%map[i])
        else:
            print('  '*43+'\033[7;1;0m%s\033[0m'%map[i])
    left = map[50:90]
    left.reverse()
    for i in range(40):
        if left[i]=='A ':
            print('\033[7;31;0m%s\033[0m' % left[i], end='')
        elif left[i]=='B ':
            print('\033[7;32;0m%s\033[0m' % left[i], end='')
        elif left[i]=='C ':
            print('\033[7;36;0m%s\033[0m' % left[i], end='')
        elif left[i]=='D ':
            print('\033[7;33;0m%s\033[0m' % left[i], end='')
        else:
            print('\033[7;1;0m%s\033[0m' % left[i], end='')
    print()
    for i in range(90,100):
        if map[i]=='A ':
            print('\033[7;31;0m%s\033[0m'%map[i])
        elif map[i]=='B ':
            print('\033[7;32;0m%s\033[0m'%map[i])
        elif map[i]=='C ':
            print('\033[7;36;0m%s\033[0m'%map[i])
        elif map[i]=='D ':
            print('\033[7;33;0m%s\033[0m'%map[i])
        else:
            print('\033[7;1;0m%s\033[0m'%map[i])
    for i in range(100,140):
        if map[i]=='A ':
            print('\033[7;31;0m%s\033[0m'%map[i],end='')
        elif map[i]=='B ':
            print('\033[7;32;0m%s\033[0m'%map[i],end='')
        elif map[i]=='C ':
            print('\033[7;36;0m%s\033[0m'%map[i],end='')
        elif map[i]=='D ':
            print('\033[7;33;0m%s\033[0m'%map[i],end='')
        else:
            print('\033[7;1;0m%s\033[0m'%map[i],end='')
    print()

run_flag = True
def move(p,name):
    global run_flag
    if run_flag==True:
        astep=random.randint(1,6)
        print('\n'+'—'*80)
        input('\033[1;1;0m%s请输入任意字母投掷骰子: _ 正常  ★ 地雷  ■ 暂停  ◎幸运转盘\033[0m'%name)
        index=map.index(p)
        print('骰子点数:',astep)
        map[index]='_ '
        point=index+astep
        if point<140:
            if map[point]=='_ ':
                map[point]=p
            elif map[point]=='★':
                if map[index-astep] in ['A ','B ','C ','D ']:
                    map[index - astep+1] = p
                else:
                    map[index-astep] =p
                print('踩到地雷,转到几减去几^@_@^')
            elif map[point]=='◎':
                print('哇,幸运转盘,再转一次$_$')
                input('\033[1;1;0m%s请按回车键转动幸运转盘\033[0m' % name)
                astep = random.randint(1, 6)
                print('转盘指向:加%d步'%astep)
                point = index + astep
                if point<140:
                    if map[point]!='_ ':
                        map[point+1] = p
                        if map[-1] == p:
                            print('\033[1;31;0m恭喜玩家%s获胜\033[0m'.center(80)% name)
                            run_flag = False
                    else:
                        map[point] = p
                        if map[-1] == p:
                            print('\033[1;31;0m恭喜玩家%s获胜\033[0m'.center(80) % name)
                            run_flag = False
                else:
                    map[-1] = p
                    print('\033[1;31;0m恭喜玩家%s获胜\033[0m'.center(80) % name)
                    run_flag = False
            elif map[point] == '■ ':
                print('暂停一次O_O')
                map[point] = p
                pause(p)
            else:
                print('踩到敌人,增加一步')
                if point+1<140:
                    map[point+1] = p
                    if map[-1]==p:
                        print('\033[1;31;0m恭喜玩家%s获胜\033[0m'.center(80) % name)
                        run_flag = False
                else:
                    map[point] = p
        else:
            print('\033[1;31;0m恭喜玩家%s获胜\033[0m'.center(80)%name)
            map[-1]=p
            run_flag=False
    else:
        exit(0)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值