Python从用户输入一个数字x,计算并输出(1/x)的x次幂,保留小数点后4位。

初入Python 有没有大佬教做一下这题

x = input()
try:
    x = float(x)
    s = (1/x)**x
    print("{:.4f}".format(s))
except ValueError:
    print("请输入数字")
except ArithmeticError:
    print("运算异常")

 

class Solution:

       def myPow(self, x: float, n: int) -> float:

                   def quickMul(N):

                         if N == 0: #任何数的0次幂都是1

                                     return 1.0

                          y = quickMul(N // 2) #调用递归计算

                                  return y * y

                        if N % 2 == 0 else y * y * x #前面N已经向下取整了所以如果N不是偶数,需要多乘一位。

                   return quickMul(n) if n >= 0 else 1.0 / quickMul(-n)

参考:https://blog.csdn.net/Da___Vinci/article/details/106047514

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

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

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

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y