← 返回题库
初级

Are They Equal

未完成
初级参考 完整示例代码供参考,建议自己理解后重新输入
def solve(n, k):
    k = int(k)
    n_str = str(n).strip()
    if "." in n_str:
        int_p, dec_p = n_str.split(".")
    else:
        int_p, dec_p = n_str, ""
    int_val = int(int_p) if int_p else 0
    if int_val != 0:
        e = len(int_p.lstrip("0"))
    else:
        leading = len(dec_p) - len(dec_p.lstrip("0"))
        e = -leading
    all_digits = (int_p + dec_p).lstrip("0")
    sig = (all_digits[:k]).ljust(k, "0")
    if not all_digits:
        print("0." + "0" * k)
    elif e == 0:
        print("0." + sig)
    else:
        print("0." + sig + "*10^" + str(e))

示例

输入
solve(0.001, 3)
期望输出
0.100*10^-2
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码