求大家帮我看一下这道pyython的while题,新手真的卡住了呜呜呜

用while语句完成程序逻辑,求如下算法可以求根号x的近似值。(例如,x为3时,算法输出约为1.7320508)。 算法如下: 输入x,若x为负数,则输出“无实数解”,算法结束; 令g=x/2; 通过如下公式计算误差值,如果 ∣x−g∗g∣<10 −6 ,输出g,算法结束; 否则,将(g+x/g)/2作为新的猜测值,仍记为g。 重复步骤3和4

while 1:
    n = int(input("输入数值"))
    if n<1:
        break
    else:
        print('n的平方根为:', n**0.5)

直接用x的0.5平方就得到平方根的值,没必要这么复杂,如有帮助,望采纳,谢谢

x = int(input('输入x:'))
if x<0:
    print('无实数解')
else:
    g=x/2
    while not abs(x-g*g)<1e-6:
        g = (g+x/g)/2
    print(g)

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632