奔跑的赵云 发表于 2020-11-16 19:43:15

求阶乘 该咋改??


##我想弄一个求阶乘的函数: 1*2*3……*n,但是我这样写完就让我输入了整数就完事了,发生甚么事了??
def hh(n):
    result = n
    for i in range(1,n):
      result *= i
    return result

n = int(input('请输入一个正整数:'))
hh(n)
      

昨非 发表于 2020-11-16 19:48:26

def hh(n):
    result = 1 #基数改成1
    for i in range(1,n+1): #这儿改成n+1
      result *= i
    return result

n = int(input('请输入一个正整数:'))
print(hh(n))
      

heidern0612 发表于 2020-11-16 19:48:39

把函数里的return改成print,或者print(hh(n))。

昨非 发表于 2020-11-16 19:49:22

满意的话请设为最佳答案哈

Twilight6 发表于 2020-11-16 19:49:52


你设置了返回值 但是没 print ,return 的值只有在控制台才会直接打印在屏幕上

否则必须用 print 函数打印

参考代码:
def hh(n):
    result = n
    for i in range(1,n):
      result *= i
    return result

n = int(input('请输入一个正整数:'))
print(hh(n))


永恒的蓝色梦想 发表于 2020-11-16 20:24:58

昨非 发表于 2020-11-16 19:48


对于函数的改动只会多浪费一点性能

昨非 发表于 2020-11-16 20:25:36

永恒的蓝色梦想 发表于 2020-11-16 20:24
对于函数的改动只会多浪费一点性能

审题不清,草率了{:10_245:}
页: [1]
查看完整版本: 求阶乘 该咋改??