货币转换,代码无法运行

写出来的代码,不知道错因在哪儿。
运行器也只有死循环(无结果)
以下是任务要求和代码

img

img

题主你的代码其实是死循环(有结果的),但是由于题主是在线编译器跑的,所以才会出现没有结果显示的情况。主要错在第4行,应该用if而不是while。其次,在第二行,金额是第一位到倒数第二位(也就是总长度-1位),而不应该直接取[:2]。
以下是修改优化后的代码:

n = input()
m = float(n[:len(n) - 1])  # 金额
c = n[-1]  # 货币种类
rate = float(input())
if m > 0 and (c == '$' or c == '¥'):
    if c == '$':
        transform = m * rate
        print(f"{transform:.2f}¥")
    else:
        transform = m / rate
        print(f"{transform:.2f}$")
else:
    print("Data error!")