Nico35 发表于 2016-8-29 15:37:56

关于零基础的17讲的课后作业问题

def power(x, y):
    result = 1
   
    for i in range(y):
      result *= x

    return result

print(power(2, 3))
   我运行代码后出来的结果是2,但是我还是不是很清楚,求解答啊,这代码的具体意思

Nico35 发表于 2016-8-29 15:40:56

def gcd(x, y):
    while y:
      t = x % y
      x = y
      y = t

    return x
   
print(gcd(4, 6))
这个也需要求解啊

Nico35 发表于 2016-8-29 15:41:27

def Dec2Bin(dec):
    temp = []
    result = ''
   
    while dec:
      quo = dec % 2
      dec = dec // 2
      temp.append(quo)

    while temp:
      result += str(temp.pop())
   
    return result

print(Dec2Bin(62))
还有这个,我怎么都不会;

iszhuangsha 发表于 2016-8-29 16:15:16

第一个程序定义的是乘方运算
第三个是十进制数转换为二进制数

iszhuangsha 发表于 2016-8-29 16:16:55

哦哦 第二个是求最大公约数

曾曾曾曾 发表于 2016-8-29 18:08:07

第二个就是将X和Y调换位置了吧。

曾曾曾曾 发表于 2016-8-29 18:13:14

第一个是求X的乘方运算,Y代表的是幂

小古比鱼 发表于 2020-11-16 19:03:50

第一个程序是求x的y次方,即计算y个x相乘的结果。运行结果为2的可能原因是将“result *= x”错写成了“result = x”。
第二个程序是利用辗转相除法求x和y的最大公约数。
第三个程序是利用除k取余法(k=2)将十进制数dec转换为对应的二进制数。
页: [1]
查看完整版本: 关于零基础的17讲的课后作业问题