Python如何通过自定义函数转换距离单位

问题遇到的现象和发生背景
Python自定义函数
写一个自定义函数,根据用户输入,将英里和公里互相进行转换,转换率为1.6;如1英里=1.6公里。自定义函数名称设置为DistanceConverion(input),并将结果在自定义函数外打印。

问题相关代码

def DistanceConversion(input):
    for i in range(len(input)):
        if input[i] == 'm' and input[i+1]] in 'mi':
            output = int(input[:-2]) * 1.6
            return str(output) + 'km'
        elif input[-2:] in 'km':
            output =  int(input[:-2]) / 1.6
            return str(output) + 'mi'

input1 = input("Enter a distance (in km or mi): ")
print(f"{input1} is equal to {DistanceConversion(input1)}.")

运行结果及报错内容
`'str' object is not callable.``

我的解答思路和尝试过的方法
我一开始就想到字符串切片解决这个问题,但是最后也注意到了函数本身是字符串不能重复调用。请问这种情况下如何能够继续读取用户输入呢?或者通过别的方式来解决这个问题?
谢谢~

我想要达到的结果

Enter a distance (in km or mi): 32km
32km is equal to 20mi

循环的过程中直接判断是带有字符k 还是字符i来区分km和mi

def DistanceConversion(input):
    for i in range(len(input)):
        if input[i] == 'i' :
            output = int(input[:-2]) * 1.6
            return str(output) + 'km'
        elif input[i] in 'k':
            output =  int(input[:-2]) / 1.6
            return str(output) + 'mi'
 
input1 = input("Enter a distance (in km or mi): ")
print(f"{input1} is equal to {DistanceConversion(input1)}.")

第3行input[i+1]]多了个]


def DistanceConversion(input):
    if input[-2:] == 'mi':
        output = int(input[:-2]) * 1.6
        return str(output) + 'km'
    elif input[-2:] == 'km':
        output =  int(input[:-2]) / 1.6
        return str(output) + 'mi'
 
input1 = input("Enter a distance (in km or mi): ")
print(f"{input1} is equal to {DistanceConversion(input1)}.")