使用Python 2.7.
我有一个字典,团队名称作为键,值包含在列表中.第一个值是团队得分的运行量,第二个值是允许的运行:
NL = {'Phillies': [662, 476], 'Braves': [610, 550], 'Mets': [656, 687]}
Run Code Online (Sandbox Code Playgroud)
我有一个迭代每个键的函数,并提供整个字典得分和允许的总运行.我还希望能够从总数中减去每个团队,并创建联盟减去团队价值.
我首先尝试了以下方面:
def Tlog5(league, league_code):
total_runs_scored = 0
total_runs_allowed = 0
for team, scores in league.iteritems():
total_runs_scored += float(scores[0])
total_runs_allowed += float(scores[1])
team_removed_runs = total_runs_scored - scores[0]
Run Code Online (Sandbox Code Playgroud)
不幸的是,这似乎只是从已经迭代的值而不是完整的总和中减去.因此,对于字典中的第一个团队,team_removed_runs为0,对于第二个团队,它是前两个团队减去第二个团队总数的总计(仅剩下第一个团队总数).
我试图将team_removed_runs = total_runs_scored - scores [0]移出for循环,但后来我只获得了字典中最后一个团队的值.
有没有办法可以为字典中的所有团队返回team_removed运行?
谢谢你的帮助!
使用Python 2.7.
我希望能够输入一个数字,并返回完成方程win_percentage = observe的x和y的所有值集.
def Rlog5(observed):
z = float(observed)/1000
for x in range(350, 650, 1):
y = 1000 - x
win_percentage = (float(x)-(float(x)*float(y)))/(float(x)+float(y)-(2*(float(x)*float(y))))
if win_percentage = observed:
print (z, float(x), float(y))
Run Code Online (Sandbox Code Playgroud)
当我运行该功能时,我什么都没得到.没有错误,但也没有值(我尝试过使用和不使用浮点数x,但我认为它需要它们,因为win_percentage应该是一个浮点数).最令人沮丧的部分是我有这个代码基本上做同样的事情,它工作正常:
def solve(numNuggets):
for numTwenties in range(0, numNuggets/20 + 1):
for numNines in range(0, (numNuggets - numTwenties*20)/9 + 1):
numSixes = (numNuggets - numTwenties*20 - numNines*9)/6
totNuggets = 20*numTwenties + 9*numNines + 6*numSixes
if totNuggets == numNuggets:
print (numSixes, numNines, numTwenties)
Run Code Online (Sandbox Code Playgroud)
我知道这是一个新手问题,但我的智慧结束了......
使用python 2.7.
以下代码允许我输入两支球队(WP_1和WP_2)的胜率百分比(k)并确定两支球队的胜率百分比,即一支球队在赛季结束时获胜的概率( Playoff_Probability):
def PlayoffProb(WP_1, k, WP_2):
TProb_2 = 0
p = float(WP_1)/1000
q = float(WP_2)/1000
n = 162.0
G = math.factorial(n)/(math.factorial(k)*math.factorial(n-k))
Prob = G*(p**k)*((1-p)**(n-k))
for c in range(0, k):
G_2 = math.factorial(n)/(math.factorial(c)*math.factorial(n-c))
Prob_2 = G_2*(q**c)*(1-q)**(n-c)
TProb_2 += Prob_2
Playoff_Probability = Prob*TProb_2
print Playoff_Probability
print TProb_2
Run Code Online (Sandbox Code Playgroud)
但更简单的是,如果函数可以递归写入,那么它将对每个可能的k值执行相同的操作,并返回结束本赛季的总概率更多的胜利(我相信应该由每个值的Playoff_Probability都通过k的函数运行,我试图将其设置为等于Total_Playoff_Probability).
我尝试了下面的代码,但是我得到一个TypeError告诉我'float'对象在返回Total_Playoff_Probability步骤时不可调用.我也完全不确定我是否正确设置了递归.
def PlayoffProb2(WP_1, k, WP_2):
TProb_2 = 0
Total_Playoff_Probability = 0
p = float(WP_1)/1000
q = float(WP_2)/1000
n = 162.0
G = math.factorial(n)/(math.factorial(k)*math.factorial(n-k))
Prob = G*(p**k)*((1-p)**(n-k))
for c in range(0, k):
G_2 …Run Code Online (Sandbox Code Playgroud) 我有一个列表,其中一个变量是Player,如果有一个玩家名字然后是"_",并且姓氏如下:
Mike_Gonzalez
Run Code Online (Sandbox Code Playgroud)
我想从播放器变量创建两个新变量.第一个变量是firstName,所以我希望所有字符都在" "的左边.第二个变量是lastName,它将是" " 右边的所有字符.
我尝试过使用LEFT(播放器,LOCATE('_',播放器)),但是当我这样做时,新变量包含_.
我如何运行代码,我可以在没有_的情况下获取名字和姓氏?
谢谢你的帮助.
在python 2.7中工作.
我有两个列表(简化以使解释更清楚).
T = [[1,0], [1,0], [0,5], [3, -1]]
B = [[1], [3], [2], [2]]
Run Code Online (Sandbox Code Playgroud)
我想附加第二个列表(B),以便将B列表的第一个值附加到T列表中的第一个列表,依此类推.
前 - 我希望输出看起来像:
T = [[1, 0, 1], [1, 0, 3], [0, 5, 2], [3, -1, 2]]
Run Code Online (Sandbox Code Playgroud)
我尝试过使用不同类型的追加函数,但我没有找到任何有效的函数.知道python,我确信有办法.
python ×4
iteration ×2
list ×2
append ×1
dictionary ×1
locate ×1
mysql ×1
recursion ×1
string ×1
subtraction ×1