要在2.7中运行,我应该对python 3.7代码做哪些更改

要在2.7中运行,我应该对python 3.7代码做哪些更改,python,Python,我有一个谷歌挑战,我已经解决了(我想),但我无法在2.7.13中运行它 挑战 作为Lambda指挥官的私人助理,您被分配了配置LAMBCHOP末日装置轴向定向齿轮的任务。这应该很简单-只需添加齿轮以创建适当的旋转比。但问题是,由于LAMBCHOP的布局以及支撑它的梁和管道的复杂系统,支撑齿轮的销钉被固定到位 LAMBCHOP的工程师已经给了你一份清单,列出了沿着各种支撑梁的一组销钉的位置。您需要在每个销钉上放置一个齿轮(否则齿轮将与未占用的销钉碰撞)。工程师们储备了大量不同尺寸的齿轮,所以你可以

我有一个谷歌挑战,我已经解决了(我想),但我无法在2.7.13中运行它

挑战

作为Lambda指挥官的私人助理,您被分配了配置LAMBCHOP末日装置轴向定向齿轮的任务。这应该很简单-只需添加齿轮以创建适当的旋转比。但问题是,由于LAMBCHOP的布局以及支撑它的梁和管道的复杂系统,支撑齿轮的销钉被固定到位

LAMBCHOP的工程师已经给了你一份清单,列出了沿着各种支撑梁的一组销钉的位置。您需要在每个销钉上放置一个齿轮(否则齿轮将与未占用的销钉碰撞)。工程师们储备了大量不同尺寸的齿轮,所以你可以选择任何尺寸的齿轮,从半径1到1。您的目标是建立一个系统,在该系统中,无论方向如何,最后一个档位的旋转速度都是第一个档位的两倍(以每分钟转数或rpm为单位)。每个齿轮(最后一个除外)接触并转动右侧下一个销钉上的齿轮

给出一个名为pegs的不同正整数列表,表示支撑梁上每个peg的位置,写出一个函数答案(pegs),如果有解决方案,返回两个正整数a和b的列表,以最简单的形式表示第一个齿轮半径的分子和分母,以实现上述目标,使半径=a/b。比率a/b应大于或等于1。并非所有支持配置都必须能够创建适当的旋转比,因此,如果任务不可能完成,功能应答(pegs)应返回列表[-1,-1]

例如,如果销钉位于[4,30,50],则第一个齿轮的半径为12,第二个齿轮的半径为14,最后一个齿轮的半径为6。因此,最后一个齿轮的旋转速度是第一个齿轮的两倍。在这种情况下,pegs应该是[4,30,50],而答案(pegs)应该返回[12,1]

列表标记将按升序排序,并将包含至少2个且不超过20个不同的正整数,所有整数均在1到10000之间(含1到10000)

我对这个问题的解决方案不过谷歌不接受答案

def solution(pegs):
    for a in range(1, dist + 1):
        for b in range(1, a + 1):
            prev_peg = pegs[0]
            ratio = a / float(b)
            radius = ratio
            for peg in pegs[1:]:
                next_peg = peg - prev_peg - radius
                radius = next_peg
                prev_peg = peg
                if peg == pegs[-1] and next_peg > 0:
                    if ratio / next_peg == 2:
                        return [a, b]
我在stackoverflow上发现了这一点,解决方案与我的非常不同,与我给出的答案相匹配


我在Python3.7中运行它,但是解决方案确实需要在2.7.13中提供,我对2.7不太熟悉,因为我很多年前就离开了它。有什么明显的区别我没有解释吗

检查一下:一个显著的区别是:在Python2中,
3/2
的计算结果为1。在Python3中,
3/2
的计算结果为1.5。我忘记了那些划分!在Python2.7中运行它,并在出现错误时修复它们。你犯了什么错误?您可以运行Python2.7Colab python笔记本:我没有收到任何错误,只是当我将其提交给google时,我的通过率为6/10。