Python求解 请大家help me

Python实验 求大佬救救孩子
假设有一条长的路,路上每隔trap_step米就有一个大坑,青蛙和狐狸同时从起点开始且以相同的频率沿着路向前跳跃,青蛙每次能跳frog_step米,狐狸每次能跳fox_step米。
请模拟上面的路况和跳跃过程,如果青蛙先掉进坑里就输出字符串’frog’,如果狐狸先掉进坑里就返回字符串’fox’,如果同时掉进坑里就返回字符串’both’。

这难道是求最小公倍数,嗯,求两个最小公倍数,然后对比

def LowestCommonMultiple(a, b):
    if a < b:  # a小于b时交换
        temp = a
        a = b
        b = temp

    greatestCommonDivisor = 0  # 最大公约数
    product = a * b  # 乘积
    while a % b != 0:  # 欧几里得算法求最大公约数
        a = a % b
        b = b % a
        if b:  # 若b不为0
            greatestCommonDivisor = b
        else:
            greatestCommonDivisor = a
            break
    lowestCommonMultiple = product / greatestCommonDivisor  # 最小公倍数=两数乘积/最大公约数
    return lowestCommonMultiple

frog_step=2
fox_step=4
trap_setp=5
frog=LowestCommonMultiple(frog_step,trap_setp)#最小公倍数既是它落入坑中最远能跳的距离
fox=LowestCommonMultiple(fox_step,trap_setp)
if fox>frog: 
    print('frog')
elif fox<frog:
    print('fox')
else:
    print('both') 

刚刚看成c++了,然后改了一下,我感觉应该没什么问题