根据定义,利用二分法来求解立方根。

while True:
    try:
        num = float(input().strip())# 获取输入
        res = 0
        # 判断输入,构造符号标签
        if num == 0:
            res = 0
        elif num > 0:
            sig = 1
        elif num < 0:
            sig = -1

        num = abs(num)# 对输入求绝对值
        if num > 1:# 如果数字大于1:开始=0 结束=输入
            start = 0
            end   = num
        elif num < 1:# 如果数字小于1:开始=输入,结束=1
            start  = num
            end    = 1

        mid = (start + end) / 2# 求中位值
        while abs(mid**3 - num) > 0.001:# 当中位值的三次方减去当前的值>0.001:
            if mid**3 > num:    # 如果中位值的三次方大于当前值:
                end = mid    # 将中位值赋值给结束
            if mid**3 < num:    #    否则:将开始值赋值给中值
                start = mid 
            mid = (start + end) / 2 # 求中位值
        res = sig*mid
        print(round(res,1))
        # 输出结果
    except:
        break