from pandas import DataFrame, Series
import pandas as pd
import numpy as np
Attribute = "火"
role_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)
role_things = role_things.fillna(axis=0, method="ffill")
num = 0
n = 0
All = []
for x in role_things["属性"]:
if x == Attribute:
All.append(num)
n += 1
num += 1
print(All)
All_role = role_things.iloc[All]
print(All_role)
【查找某个角色的数值】
from pandas import DataFrame, Series
import pandas as pd
import numpy as np
role_name = "班尼特"
role_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)
# 将属性所包含的nan,进行填充
role_things = role_things.fillna(axis=0, method="ffill")
print(role_things)
print()
all_name = role_things["角色"]
print(all_name)
num = 0
for x in all_name:
if x == role_name:
return_role = role_things.loc[:, "角色":]
print(return_role.iloc[num])
Attribute = return_role.iloc[num]["属性"]
Name = return_role.iloc[num]["角色"]
Hp = return_role.iloc[num]["生命值"]
Def = return_role.iloc[num]["防御力"]
Atk = return_role.iloc[num]["攻击力"]
Break = return_role.iloc[num]["突破加成"]
print(Name, Attribute, Hp, Def, Atk, Break)
num += 1
【各项数值符合要求的角色】
from pandas import DataFrame, Series
import pandas as pd
import numpy as np
Attribute = "火"
role_things = pd.read_excel("C:/Users/YHT/Desktop/项目/原神各属性角色信息.xlsx", header=0, index_col=0)
role_things = role_things.fillna(axis=0, method="ffill")
# 生命值:Hp;防御力:Def;攻击力:Atk
# 先将每个数值定义为None,然后在对用户输入的限制条件进行接收
Hp = None
Def = None
Atk = None
Hp = 10000
Def = 780
Atk = 250
# if语句,判断是否有空值
if Hp is None:
if Def is None:
if Atk is None:
print(role_things)
else:
return_things = role_things.loc[role_things["攻击力"] > Atk]
print(return_things)
else:
if Atk is None:
return_things = role_things.loc[role_things["防御力"] > Def]
print(return_things)
else:
return_things = role_things.loc[(role_things["防御力"] > Def) & (role_things["攻击力"] > Atk)]
print(return_things)
else:
if Def is None:
if Atk is None:
return_things = role_things.loc[role_things["生命值"] > Hp]
print(return_things)
else:
return_things = role_things.loc[(role_things["生命值"] > Hp) & (role_things["攻击力"] > Atk)]
print(return_things)
else:
if Atk is None:
return_things = role_things.loc[(role_things["生命值"] > Hp) & (role_things["防御力"] > Def)]
print(return_things)
else:
return_things = role_things.loc[(role_things["生命值"] > Hp) & (role_things["防御力"] > Def) & (role_things["攻击力"] > Atk)]
print(return_things)