2892150342ABC 发表于 2020-6-14 09:25:30

求助

        大佬们能帮我看看这几道题吗,我是小学生,看到这3道题,眼前一黑

Twilight6 发表于 2020-6-14 09:27:22



你的题呢?

liuzhengyuan 发表于 2020-6-14 09:27:43

你好,能不能发一下题目……

小甲鱼的铁粉 发表于 2020-6-14 09:28:39

小鱼油你的题目呢?

2892150342ABC 发表于 2020-6-14 09:33:57

0. 编写一个函数power()模拟内建函数pow(),即power(x, y)为计算并返回x的y次幂的值。
   
   
1. 编写一个函数,利用欧几里得算法(脑补链接)求最大公约数,例如gcd(x, y)返回值为参数x和参数y的最大公约数。
   
   
2. 编写一个将十进制转换为二进制的函数,要求采用“除2取余”(脑补链接)的方式,结果与调用bin()一样返回字符串形式。
   
这几天学python学的云里雾里的{:10_266:}

2892150342ABC 发表于 2020-6-14 09:43:49

人呢

Twilight6 发表于 2020-6-14 09:53:30

本帖最后由 Twilight6 于 2020-6-14 10:09 编辑

2892150342ABC 发表于 2020-6-14 09:43
人呢


你没点回复别人看不见你发的,看注释吧


0. 编写一个函数power()模拟内建函数pow(),即power(x, y)为计算并返回x的y次幂的值

# 案例一
def power(x,y):
    result = 1   # 初始化一个值
    if y == 0:
      return result# 所有数的 0 次幂都为 1

    while y:# 循环计算结果
      if y < 0:# 次幂 小于 0 是 1/x 形式
            result /= x
            y += 1

      if y > 0: # 次幂 大于 0 是 x*x 的形式
            result *= x
            y -= 1
    return result

# 案例一简化版
def power(x,y):
    if y < 0:
      return 1/x**(-y)
    return x**y


1. 编写一个函数,利用欧几里得算法(脑补链接)求最大公约数,例如gcd(x, y)返回值为参数x和参数y的最大公约数。
原答案:
# 案例二
def gcd(x, y):
    if y:
      return gcd(y, x % y)
    else:
      return x

# 案例二注释版,假设传入的 x , y 分别是 4,6
def gcd(x, y):#开始时候传入 x = 4 ; y = 6
    # 第一次递归 x = 6 y = 4
    # 第二次递归 x = 4 y = 2

    if y:
      # 刚开始 y = 6 条件成立执行if代码块
      # 第一次递归 y = 4 继续进入 if 代码块
      # 第二次递归 y = 2 继续进入 if 代码块
      # 第三次递归 y = 0 条件不成立则进入else 代码块

      return gcd(y, x % y)
      # 进入第一次递归 gcd(6,4%6)即 gcd(6,4)
      # 进入第二次递归 gcd(4,6%4) 即gcd (4,2)
      # 进入第三次递归 gcd (2,4%2)即 gcd (2,0)
    else:
      return x# 第三次递归返回 x = 2

    # 然后依次返回 先从第三次递归开始 gcd(2,0)-> gcd(4,2) -> gcd(6,4) -> gcd(4,6)



2. 编写一个将十进制转换为二进制的函数,要求采用“除2取余”(脑补链接)的方式,结果与调用bin()一样返回字符串形式。

def mybin(x):
    temp = ''
    if x < 1:
      return ''
    else:
      temp += str(x%2)
      return mybin(x//2)+temp

2892150342ABC 发表于 2020-6-14 11:38:14

大哥能解释一下吗

Twilight6 发表于 2020-6-14 11:39:05

2892150342ABC 发表于 2020-6-14 11:38
大哥能解释一下吗

注释里面写了呀~

2892150342ABC 发表于 2020-6-14 11:39:31

我是小学生,大哥您能解释一下什么是幂的值吗
页: [1]
查看完整版本: 求助