我有以下线在我的Python程序如何改变这一特定字符串成一定的输入
print "Player 1: " +str(player1points)
其中“player1points”是计算在我的计划。
结果产量:
Player 1: 3
,其中 '3' 是计算该运行什么程序。
然而,对于一个特定的功能我设法从这里
def sort_players(players):
r"""Sort the players by points.
>>> print sort_players('Player 1: 3\n'
... '\n'
... 'Player 2: 4\n'
... '\n'
... 'Player 3: 3\n'
... '\n'
... 'Player 4: 5\n')
Player 4: 5
Player 2: 4
Player 1: 3
Player 3: 3
"""
# split into a list
players = players.split("\n")
# filter out empty lines
players = [player for player in players if player != '']
def points(player_report):
"""Parse the number of points won by a player from a player report.
A "player report" is a string like 'Player 2: 6'.
"""
import re
# Match the last string of digits in the passed report
points = re.search(r'\d+$', player_report).group()
return int(points)
# Pass `points` as a "key function".
# The list will be sorted based on the values it returns.
players.sort(key=points, reverse=True)
# Make the sorted list back into a string.
return "\n".join(players)
获得帮助的功能将只接受一个输入:
Player 1: 3
,而不是:
"Player 1: " +str(player1points)
即使在我看来,他们都产生相同的结果,我将如何能够转换
"Player 1: " +str(player1points)
进入相应的输入,所以函数将接受它。
实例:
sort_players('Player 1: 3\n'
'\n'
'Player 2: 4\n'
'\n'
'Player 3: 3\n')
能给我
Player 2: 4
Player 1: 3
Player 3: 3
实施例2:
sort_payers('Player 1: +str(player1points)\n'
'\n'
'Player 2: +str(player2points)\n'
'\n'
'Player 3: +str(player3points)\n')
能给我
AttributeError:'NoneType' object has no attribute 'group'
我怀疑这是问题所在。显示一些失败的完整示例(并包含完整的追溯和错误消息!),并且可以工作。 – delnan 2011-04-10 21:36:13
我想你在调试代码的时候出错了。请提供更多细节实际发生的事情,你会得到什么错误......使用分割和正则表达式看起来不对,但需要更多细节来解释它。 – Achim 2011-04-10 21:37:38
投票结束:不是一个真正的问题。请re =说明发布所有代码的问题。另外,如果这是作业,它应该被标记为这样。 – 2011-04-10 21:39:58