题目:
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("没有该球队,请检查是否输入有误!!")
运行如下(示例):