weixin_57975789 2021-05-06 23:26 采纳率: 71.4%
浏览 159
已采纳

python函数编程

求问各位大神:

习题一 给定自然数 n,编写函数,求其各位数字之和,如数 1234 各位数字之和为10。编写函数,重复上述过程,直至得到 1~9 之间的某个数。

习题二 继续上一题。编写函数,检查 1~99999 之间所有数,给出最终结果中1~9 出现比例。

习题三 编写函数,使用递归方法求 C(n, k) 。

习题四 编写函数,计算圆周率。存在圆心在直角坐标系原点且半径为 1 的圆及其外切正方形。为计算方便,仅考虑位于第一象限的四分之一正方形和四分之一圆。随机生成该四分之一正方形中一系列点,散布于四分之一圆内比例即为圆周率四分之一。散步点越多,结果越精确,耗时也越长。

  • 写回答

4条回答 默认 最新

  • 关注
    def pf(n):
        s = 0
        while n>0:
            s += n%10
            n //= 10
        return s
    
    def gf(n):
        while n>9:
            n = pf(n)
            print(n)
        return n
    
    n = int(input("输入一个自然数:"))
    print("结果:",gf(n))
    

    第二题

    def pf(n):
        s = 0
        while n>0:
            s += n%10
            n //= 10
        return s
    
    def gf(n):
        while n>9:
            n = pf(n)
        return n
    
    def hf():
        dic = {x:0 for x in range(1,10)}
        for n in range(1,100000):
            s = gf(n)
            dic[s] += 1
        for k,v in dic.items():
            print(f'{k} 出现 {v} 次、比率 {v/99999:%}')
    hf()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?