3216207773 发表于 2020-9-14 11:09:39

小小的疑问

def pow(x,y):
    while 1:
      if y==0 :
            return 1
      elif y!=0 and y==abs(y):
            return x*pow(x,y-1)
      else:
            return x**(-1)*pow(x,y+1)

num1=int(input('请输入底数:'))
num2=int(input('请输入幂次:'))
result=pow(num1,num2)
print('%d的%d次幂为:%d'%(num1,num2,result))
#为什么输入负的次幂结果却不对;如2**-3输出不是0.125

LuLD 发表于 2020-9-14 11:09:40

本帖最后由 LuLD 于 2020-9-14 11:19 编辑

代码最后一句
print('%d的%d次幂为:%d'%(num1,num2,result))

最后输出的 是以 %d 十进制有符号整数 格式输出的

想要以小数形式输出 就要改变它的输出格式 如
print('%d的%d次幂为:%.2f'%(num1,num2,result))

%.2f 小数点后保留两位的浮点型格式输出

3216207773 发表于 2020-9-14 11:50:25

LuLD 发表于 2020-9-14 11:09
代码最后一句
print('%d的%d次幂为:%d'%(num1,num2,result))



懂了,Thank you!!!!!!
页: [1]
查看完整版本: 小小的疑问