目录
# 前言
这是一个可以看成非常小的游戏循环模块
1.创建一个类——Person
class Person: # 创建Person类
def __init__(self, hp, atk):# 初始化函数 定义血量,攻击力 形参
self.hp = hp # 赋值
self.atk = atk # 赋值
def __str__(self): # 打印语句
return f"血量{self.hp},攻击力{self.atk}" # 返回血量,攻击力
2.创建一个列表,生成十个随机参数的人,并且存入列表中
import random # 导入随机函数
l = [] # 定义一个列表
for i in range(10): # 循环十次
# 随机3000-5000之间的数字
p = Person(random.randint(3000, 5000), random.randint(1000, 3000))
l.append(p) # 把数据存入列表
3.编写循环条件,血量小于0的人移除列表
while len(l) > 1: # while循环执行条件
for k in range(len(l) - 1): # 循环l的长度-1 次
if len(l) > 1 and k < len(l) - 1: # 判断列表内的数据是否>1 并且 <循环l的长度-1
# 第二个人的血量就等于第二个人的血量减去第一个人的攻击力
l[k + 1].hp = l[k + 1].hp - l[k].atk
if l[k + 1].hp < 0: # 判断第二个人血量是否为负数
l.pop(k + 1) # 如果是负数,就把这个人删除
if k + 1 == len(l) - 1: # 当是最后一个人时
l[0].hp = l[0].hp - l[k + 1].atk # 就用第一个人的血量-最后一个人的攻击力
if l[0].hp < 0: # 判断第一个人的血量是否为负数
l.pop(0) # 如果是负数就删除这个人
print(l[0]) # 只剩最后一个人的时候打印出来
import random # 导入随机函数
class Person: # 创建Person类
def __init__(self, hp, atk):# 初始化函数 定义血量,攻击力 形参
self.hp = hp # 赋值
self.atk = atk # 赋值
def __str__(self): # 打印语句
return f"血量{self.hp},攻击力{self.atk}" # 返回血量,攻击力
l = [] # 定义一个列表
for i in range(10): # 循环十次
# 随机3000-5000之间的数字
p = Person(random.randint(3000, 5000), random.randint(1000, 3000))
l.append(p) # 把数据存入列表
while len(l) > 1: # while循环执行条件
for k in range(len(l) - 1): # 循环l的长度-1 次
if len(l) > 1 and k < len(l) - 1: # 判断列表内的数据是否>1 并且 <循环l的长度-1
# 第二个人的血量就等于第二个人的血量减去第一个人的攻击力
l[k + 1].hp = l[k + 1].hp - l[k].atk
if l[k + 1].hp < 0: # 判断第二个人血量是否为负数
l.pop(k + 1) # 如果是负数,就把这个人删除
if k + 1 == len(l) - 1: # 当是最后一个人时
l[0].hp = l[0].hp - l[k + 1].atk # 就用第一个人的血量-最后一个人的攻击力
if l[0].hp < 0: # 判断第一个人的血量是否为负数
l.pop(0) # 如果是负数就删除这个人
print(l[0]) # 只剩最后一个人的时候打印出来