孤山空影 发表于 2021-7-13 10:28:58

新手:x的y次幂这么写错在哪儿

def fun(x,y):
    s=1
    for(int i=1,i<=y,i++):
      s*=x
      return s
    print(fun(3,3))

逃兵 发表于 2021-7-13 10:32:43

如果是python的话,这么写

def fun(x,y):
    s = 1
    for i in range(y):
      s*=x
    return s


print(fun(3,3))

孤山空影 发表于 2021-7-13 13:16:19

逃兵 发表于 2021-7-13 10:32
如果是python的话,这么写

我想知道原来那个错在哪里{:9_241:}

逃兵 发表于 2021-7-13 13:30:20

孤山空影 发表于 2021-7-13 13:16
我想知道原来那个错在哪里

语法错误,你那个写法是C语言,python不支持这样的写法

孤山空影 发表于 2021-7-13 13:48:24

逃兵 发表于 2021-7-13 13:30
语法错误,你那个写法是C语言,python不支持这样的写法

好的,谢谢

wp231957 发表于 2021-7-13 14:05:47

孤山空影 发表于 2021-7-13 13:48
好的,谢谢

py中不需要单独写函数
x**y

孤山空影 发表于 2021-7-13 16:27:34

wp231957 发表于 2021-7-13 14:05
py中不需要单独写函数
x**y

def fun(x,y):
        s=x**y
        return s
比如这个语法是对的,但是我有个疑问,返回值s不需要提前定义吗?

wp231957 发表于 2021-7-13 16:47:41

孤山空影 发表于 2021-7-13 16:27
def fun(x,y):
        s=x**y
        return s


可以是可以,不过一句表达式就能实现,你要开销一个函数,也太不值当,除非你是练习写函数

人之初性本善 发表于 2021-7-13 17:15:53

看这回答,不止一种啊

gch418225 发表于 2021-7-13 17:20:31

** 次方 + - * / //除取整 %除取余 ** 次方

Twilight6 发表于 2021-7-14 08:06:12

孤山空影 发表于 2021-7-13 16:27
def fun(x,y):
        s=x**y
        return s




Python 是动态语言,不需要声明变量的数据类型,初始定义 才能进行赋值使用,可以直接进行赋值,变量在运行过程中可以直接进行改变

Kayko 发表于 2021-7-14 09:41:55

学到了
页: [1]
查看完整版本: 新手:x的y次幂这么写错在哪儿