B.K. 发表于 2020-4-13 21:04

求助一道python题,谢谢大佬们

本帖最后由 B.K. 于 2020-4-14 13:43 编辑

求助一道python

B.K. 发表于 2020-4-14 13:40

谢谢各位大佬们的解答,网课太刺激了,有些大佬还悉心注释了,谢谢蟹蟹

kesai 发表于 2020-4-13 21:31

本帖最后由 kesai 于 2020-4-13 21:43 编辑

=import math
n = input()
s = 0
for i in n:
    s += math.factorial(int(i))
if int(n) == s:
    print('{}是阶乘和数,其各位数字的阶乘之和为{}'.format(n, s))
else:
    print('{}不是阶乘和数,其各位数字的阶乘之和为{}'.format(n, s))

zhmyi000 发表于 2020-4-13 21:38

kesai 发表于 2020-4-13 21:31
import math
n = input()
s = 0


是遍历数字n的每一位吧。for i in n

nightforfire 发表于 2020-4-13 21:39

import math
n = input()
s = 0
for i in n :
    s += math.factorial(i)
if int(n) == s :
    print(balabala)
else:
    print(balabal)
学python上网课体验极差,老师放网上的视频,出两个选择题就结束了。学跟没学一样

kesai 发表于 2020-4-13 21:40

zhmyi000 发表于 2020-4-13 21:38
是遍历数字n的每一位吧。for i in n

哦,看错题目了

zhooou 发表于 2020-4-13 21:42

~~~ python
import math
n = input('请输入一个数字:')
s = 0
for i in n:
    s = s + math.factorial(int(i))# factorial是计算阶乘的函数
if int(n) == s:
    print('{}是阶乘和数,其各位数字的阶乘之和为{}'.format(n, s))
else:
    print('{}是不阶乘和数,其各位数字的阶乘之和为{}'.format(n, s))
~~~

zhaozk0745 发表于 2020-4-13 21:53

import math
n = input()
temp = str(n)
s = 0
for k in temp:
    x = 1
    for i in range(1, int(k)+ 1):
      x = x * i
    s = s + x

if s == n:
    print("{}是阶乘和数,其各位数字的阶乘之和为{}".format(n,s))
else:
    print("{}不是阶乘和数,其各位数字的阶乘之和为{}".format(n,s))

ciker_li 发表于 2020-4-13 22:08

本帖最后由 ciker_li 于 2020-4-13 22:18 编辑

import math
n = input()
s = 0
for k in str(n):
    s = s + math.factorial(int(k))

if s == n:
    print("{}是阶乘和数,其各位数字的阶乘之和为{}".format(n,s))
else:
    print("{}不是阶乘和数,其各位数字的阶乘之和为{}".format(n,s))


ciker_li 发表于 2020-4-13 22:20

1000000000以内只有4个数,1,2,145,40585

B.K. 发表于 2020-4-14 13:38

kesai 发表于 2020-4-13 21:31
=import math
n = input()
s = 0


谢谢大佬
页: [1] 2
查看完整版本: 求助一道python题,谢谢大佬们