n=int(input("Enter the Value for n:"))
result=1
for i in range(n, 1, -1):
result=result*i
print("factorial of",n,"is",result)
输出如下:
Enter the Value for n:4
factorial of 4 is 4
factorial of 4 is 12
factorial of 4 is 24
我的问题是-如何仅在单行(即最后一行)中获得输出?
答案 0 :(得分:0)
在python中一行打印是这样的:
print('hello', end='')
print(' world')
输出为:hello world
希望这很有帮助
答案 1 :(得分:0)
将打印命令带出循环并仅打印一次结果
A
答案 2 :(得分:0)
如果您想特别喜欢它,可以手动计算阶乘,将中间打印值构建为字符串,然后仅用1行代码(不包括导入)将其全部打印出来。
以下显示一个元组,其中第一个元素是计算的阶乘,第二个是中间信息的字符串(打印在一行上)。
from functools import reduce
n=4
print(reduce(lambda x,y:(x[0]*y,"%s more text %d"%(x[1],x[0])),range(n,1,-1),(1,"")))
答案 3 :(得分:0)
这可能会帮助您:
import math
num = int(input('Enter the number:')
f = math.factorial(num)
print('The factorial of {} is {}'.format(num, f))
答案 4 :(得分:0)
使用reduce和lambda函数
>>> z =5
>>> reduce(lambda x,y:x*y,range(1,z+1))
120
这可能有帮助