[Python]刀人代码

 

目录

 # 前言

 1.创建一个类——Person

 2.创建一个列表,生成十个随机参数的人,并且存入列表中

3.编写循环条件,血量小于0的人移除列表 


 # 前言

        这是一个可以看成非常小的游戏循环模块

 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]) # 只剩最后一个人的时候打印出来

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@ZSH@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值