题目:
NBA球星信息查询 需求描述 以下是一段包括球员信息的文本,要求编写一个程序,让用户能按照自己喜欢的球队查询其所有球员信 息,并格式化打印出来。
"Carmelo Anthony,Portland Trail Blazers,SF;Anthony Davis,Los Angeles Lakers,PF;LeBron James,Los Angeles Lakers,SF;Kevin Durant,Brooklyn Nets,SF;James Harden,Brooklyn Nets,PG;Kyrie Irving,Brooklyn Nets,SG;Damian Lillard,Portland Trail Blazers,PG"。
其中每个分号分隔代表一个球员,球员信息包括姓名、球队、位置,每个特征用逗号隔开。
代码如下(示例):
# NBA球星信息查询 需求描述 以下是一段包括球员信息的文本,要求编写一个程序,让用户能按照自己喜欢的球队查询其所有球员信 息,并格式化打印出来。
#
# "Carmelo Anthony,Portland Trail Blazers,SF;Anthony Davis,Los Angeles Lakers,PF;LeBron James,Los Angeles Lakers,SF;Kevin Durant,Brooklyn Nets,SF;James Harden,Brooklyn Nets,PG;Kyrie Irving,Brooklyn Nets,SG;Damian Lillard,Portland Trail Blazers,PG"。
#
# 其中每个分号分隔代表一个球员,球员信息包括姓名、球队、位置,每个特征用逗号隔开。
s = "Carmelo Anthony,Portland Trail Blazers,SF;Anthony Davis,Los Angeles Lakers,PF;LeBron James,Los Angeles Lakers,SF;Kevin Durant,Brooklyn Nets,SF;James Harden,Brooklyn Nets,PG;Kyrie Irving,Brooklyn Nets,SG;Damian Lillard,Portland Trail Blazers,PG"
ls = s.split(";")
d_team = {}
l_info = []
# 具体球员的数据
for i in ls:
l_info.append(i.split(","))
# 构造字典的key值为球队唯一,value的值暂时为空列表
for j in range(0, len(l_info)):
d_team[l_info[j][1]] = []
# 形成球队的字典数据
for j in range(0, len(l_info)):
if (d_team.__contains__(l_info[j][1])):
d_team[l_info[j][1]].append(l_info[j])
s = input("请输入球队Portland Trail Blazers|Los Angeles Lakers| Brooklyn Nets:")
# 构造输出样式
def style():
for i in range(2):
print("+" + "-" * 26, end="")
print("+" + "-" * 16 + "+", end="")
#没有该球队的异常处理
try:
if (d_team[s]):
style()
print()
l_property = ['name', 'team', 'position']
for i in range(len(l_property)):
if i < 2:
print("|" + " " * 10 + l_property[i] + " " * 12, end='')
print("|" + " " * 4 + l_property[2] + " " * 4 + "|")
style()
print()
for i in d_team[s]:
for j in range(len(i)):
if j < 2 :
if(j==0):
print("|",end='')
print("{0:}".format(i[j]).center(25),"|", end="")
print("{:0}".format(i[2]).center(15),"|")
style()
except:
print("没有该球队,请检查是否输入有误!!")
运行如下(示例):