江湖散人 发表于 2021-3-31 15:14:53

编写一个求x的y次幂的函数

def power(x,y):
    if x!=0 and y!=0:
      result x**y
    elif x==0 and y!=0:
      result 0
    else y==0:
      result 1

a=int(input('输入参数X:'))
b=int(inptut('输入参数Y:'))
print("%d的%d次幂是%d:",a,b,power(a,b))

我想求X的Y次幂,这个函数怎么修改?哪位大神给指导一下呗

jackz007 发表于 2021-3-31 15:21:57

def power(x , y):
    r = 1
    for _ in range(y):
      r *= x
    return r

逃兵 发表于 2021-3-31 15:22:00

def power(x,y):
    if x!=0 and y!=0:
      return x**y
    elif x==0 and y!=0:
      return 0
    elif y==0:
      return 1


a=int(input('输入参数X:'))
b=int(input('输入参数Y:'))
print("%d的%d次幂是%d "%(a,b,power(a,b)))

Twilight6 发表于 2021-3-31 15:25:14



错误点1:return 设置返回值你写成了 result

错误点2:else 不能写条件

错误点3:b 的 input 函数拼写错误,print 函数 % 号格式化没用对~

参考代码:
def power(x,y):
    if x!=0 and y!=0:
      return x**y
    elif x==0 and y!=0:
      return 0
    elif y==0:
      return 1

a=int(input('输入参数X:'))
b=int(input('输入参数Y:'))
print("%d的%d次幂是:%d"%(a,b,power(a,b)))

qq1151985918 发表于 2021-3-31 15:43:31

那些个 if 条件都是多余的,不必要,幂运算本来就可以直接输出结果,又不是除法,除数不能为0
第一点return 不是 result
第二点 else 不能加条件,相加条件用 elif
第三点 input 不要多字母,要输入正确
第四点格式化的形式不要弄错
def power(x,y):
    return x**y

a=int(input('输入参数X:'))
b=int(input('输入参数Y:'))
print("%d的%d次幂是%d:"%(a,b,power(a,b)))

江湖散人 发表于 2021-3-31 21:50:46

qq1151985918 发表于 2021-3-31 15:43
那些个 if 条件都是多余的,不必要,幂运算本来就可以直接输出结果,又不是除法,除数不能为0
第一点ret ...

谢谢老师,受教了
页: [1]
查看完整版本: 编写一个求x的y次幂的函数