player_name='白雪公主'
title=int(input(f"------------欢迎来到游戏《唐僧大战白骨精》------------\n请选择您的身份:\n\t1.{player_name}\n\t2.白骨精\n\t请选择:"))
print('-'*45)
if title==1:
print(f'您已选择{player_name},恭喜您将以{player_name}的身份进行游戏!')
elif title==2:
print(f'为什么你竟然选择白骨精?太不要脸了,系统将自动分配你为{player_name}的身份进行游戏!')
else:
print('你输入的选项有误,系统将自动分配你为唐僧的身份进行游戏!')
print(f'你的身份是->{player_name}<-,你的攻击力是:2你的生命值是:2')
a=int(input('请选择你要做的操作\n\t1.练级:\n\t2.打Boss\n\t3.逃跑\n\t请选择:'))
player_attack=2
boss_attack=20
while a==1 or a==2 or a==3:
if a==1:
player_attack+=2
print(f'恭喜你{player_name}!你升级了!现在你的攻击力是:',player_attack,'你的生命值是:',player_attack)
if a==2:
boss_attack-=player_attack
if boss_attack <= 0:
print('-'*13,'恭喜你攻击成功!游戏结束','-'*13)
break
else:
player_attack-=1
print('-'*8,'攻击失败,现在你的攻击力是:',player_attack,'你的生命值是:',player_attack,'-'*8)
print('白骨精的攻击力是:',boss_attack,'白骨精的生命值是:',boss_attack)
print ('-'*13,'赶快练级吧!','-'*13)
if a==3:
print('-'*13,'游戏结束','-'*13)
break
a=int(input('请选择你要做的操作\n1.练级:\n2.打Boss\n3.逃跑\n\t请选择:'))
第四章 序列
列表(list)
1. 列表是python中的一个对象
2.对象(object)就是内存中专门用来存储数据的一块区域
之前我们学习的对象,像数值,他只能保存一个单一的数据
列表中可以保存多个有序的数据
列表的使用
1. 列表的创建
2.列表中数据的操作
my_list=[10,20,30,40,50] ->创建了一个保护有5个元素的列表,列表中可以保存任意的对象
my_list=[10,'hello',True,None,[1,2,3],print]
列表中的对象都会按照插入顺序储存到列表中,第一个插入的对象保存到第一个位置,第二个爆粗到第二个位置,以此类推
我们通过索引(index)来获取列表中的元素
索引是元素在列表中的位置,列表中的每一个元素都有一个索引
索引是从0开始的整数,列表第一个位置索引是0,第二个位置索引是1,第三个位置索引是2
my_list=[1,2,3,4,5,6,7,8,9,10]
print(my_list[0])
#如果使用的索引超过了最大范围,会抛出异常
#获取列表长度,列表中元素的个数
#len()函数,通过该函数可以获取列表长度
#获取到的长度的值,是列表的最大索引+1
print(len(my_list))
切片:
切片指从现有列表中,获取一个子列表
a=[1,2,3,4,5,6,7]
列表的索引可以是负数
如果索引是负数,则表示从后向前获取元素,-1表示倒数第一个,-2表示倒数第二个以此类推
通过且片来获取指定的元素
语法:列表[起始:结束] 切片操作是会包含起始位置的元素,不包含结束位置的元素
做切片操作时,总会返回一个新的列表,不会影响原来的列表
- 如果省略结束位置,则会一直截取到最后
- 如果省略起始位置,则会从第一个元素开始截取
- 如果起始位置和结束位置全部省略,则相当于创建一个列表的副本
语法:列表[起始:结束:步长] 步长默认为1;步长不能是0;可以是负数,则列表的后部向前取元素
+ 和 *
- +可以将两个列表拼接为一个列表
my_list=[1,2,3]+[4,5,6]
- *可以将列表重复指定的次数
my_list=[1,2,3]*3
print(my_list)
in 和 not in -->
- in检查指定元素是否存在于列表中如果存在返回True,否则返回False
- not in检查指定元素是否不再列表中如果不存在返回True,否则返回False
print(5 in my_list)
两个方法(method),方法和函数基本上是一样,只不过方法必须通过 对象.方法()的形式调用
xxx.print()方法实际上就是和对象关系紧密的函数
s.index()获取指定元素在列表中的位置
s.index(5,3,8)的第二个参数,表示查找的起始位置,第三个参数,表示查找的结束位置。
min() 获取列表中的最小值
max() 获取列表中的最大值
print(min(my_list),max(my_list))
my_list=[1,2,3,4,5,6,7,8,9,5,10,5]
print(my_list[0])
print(len(my_list))
print(5 in my_list)
print(my_list.index(5))
print(my_list.index(5,5,10))
print(my_list.count(5))
print(min(my_list),max(my_list))