【发布时间】:2019-12-17 10:19:35
【问题描述】:
我刚刚开始学习 python,我被分配了一个使用不同循环创建玩家和统计数据列表的任务。 我不知道如何创建一个搜索球员列表并输出球员姓名和球员数据的函数。
这是作业:
创建一个名为 player 的空列表
在 for 循环中使用两个
input()语句来收集名称 和每个球员的表现(名称将采用 字符串和性能为 0 – 100 的整数。)将两者相加 列表中的信息片段(所以在第一次迭代中 loopplayers[0]将包含第一个玩家的名字和players[1]将包含他们的表演。)您不需要 验证此数据。使用while循环显示所有玩家信息 以下形式:
播放器:性能
使用您选择的循环类型从 玩家列出这些项目并将其存储在一个名为 results 的新列表中
编写一个接受“max”或“min”值的函数和 从结果列表中返回最大值或最小值
编写一个名为
find_player()的函数,它接受玩家姓名 并从球员名单中显示他们的姓名和表现,或 如果找不到播放器,则会出现错误消息。
这是我目前所拥有的:
print ("Enter 11 Player names and stats")
# Create player list
playerlist = []
# Create results list
results = []
# for loop setting amount of players and collecting input/appending list
for i in range(11):
player = (input("Player name: "))
playerlist.append(player)
stats = int(input("Player stats: "))
playerlist.append(stats)
# While loop printing player list
whileLoop = True
while whileLoop == True:
print (playerlist)
break
# for loop append results list, [start:stop:step]
for i in range(11):
results.append(playerlist[1::2])
break
# max in a custom function
def getMax(results):
results = (playerlist[1::2])
return max(results)
print ("Max Stat",getMax(results))
# custom function to find player
def find_player(playerlist):
list = playerlist
name = str(input("Search keyword: "))
return (name)
for s in list:
if name in str(s):
return (s)
print (find_player(playerlist))
我尝试了许多不同的方法来创建查找播放器功能,但均未成功。
我认为我遇到了问题,因为我的列表由字符串和整数组成,例如。 ['john', 6, 'bill', 8]
我希望它显示被搜索的玩家和统计信息['John', 6]
任何帮助将不胜感激。
PS: 我知道不需要所有这些循环,但这似乎是作业所要求的。
谢谢
【问题讨论】:
-
代码中的小 cmets:您可以删除 whilelloop 变量。您可以直接使用
while True:和break。我还建议要求在 find_player 函数之外搜索名称并将名称作为第二个参数传递。只是觉得更合适,但并没有根据作业改变要求
标签: python-3.x list function search