python判断等比数列

请大家看看这个,下面是我写的代码,不知道为什么一直出错,麻烦大家解答!谢谢大家!

img

img

from fractions import Fraction

numbers = list(map(int, input().split()))

ratio = numbers[1] / numbers[0]
for i in range(1, len(numbers)):
    if numbers[i] / numbers[i-1] != ratio:
        print("It's not an equal sequence")
        break
else:
    simpl_ratio = Fraction(ratio).limit_denominator()
    if simpl_ratio.denominator == 1:
        print(simpl_ratio.numerator)
    else:
        print(f"{simpl_ratio.numerator}/{simpl_ratio.denominator}")

既然都用了Fraction了,就不用单独计算ratio了,直接生成Fraction类,就是最简分数

from fractions import Fraction

nums = list(map(int, input().split()))
ratio = Fraction(nums[1], nums[0])
for i in range(2, len(nums)):
    new_ratio = Fraction(nums[i], nums[i-1])
    if new_ratio != ratio:
        print("It's not an equal ratio sequence.")
        break
else:
    print(ratio)