Python实现用户输入N,输出N!
时间: 2024-05-15 08:15:17 浏览: 12
可以使用递归或循环的方式实现计算N的阶乘。
递归方式:
```python
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
n = int(input("请输入一个整数:"))
print("{}! = {}".format(n, factorial(n)))
```
循环方式:
```python
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
n = int(input("请输入一个整数:"))
print("{}! = {}".format(n, factorial(n)))
```
两种方式都可以实现,但是递归方式在计算较大的阶乘时可能会出现递归深度过深的问题,因此循环方式更为稳健。
相关问题
输入n,输出n!Python
这是一道比较简单的题目,可以使用循环来实现:
```python
n = int(input("请输入一个整数:"))
result = 1
for i in range(1, n+1):
result *= i
print("%d! = %d" % (n, result))
```
在这个程序中,我们首先读入一个整数n,然后使用循环计算n的阶乘。具体来说,我们定义一个变量result,初始值为1,然后从1到n遍历一个循环,每次将result乘以循环变量i,最终得到n的阶乘。最后,我们使用print函数输出结果。注意,我们使用了字符串格式化来输出结果,这样可以让输出更加清晰。
用python实现输入n,输出三角形112112321
可以使用循环语句实现该功能,具体代码如下:
```python
n = int(input("请输入n的值:"))
# 初始化三角形序列
triangle = [1]
# 依次计算每一行的数字
for i in range(1, n):
# 记录当前行的数字列表
row = []
# 遍历上一行的数字,计算当前行的数字
for j in range(len(triangle)):
# 如果是第一个数字或者和前一个数字不同,则添加一个1
if j == 0 or triangle[j] != triangle[j-1]:
row.append(1)
# 否则,在上一行的数字基础上加1
else:
row[-1] += 1
# 将当前行的数字添加到三角形序列中
triangle += row
# 输出三角形
for i in range(n):
print(' '.join(str(x) for x in triangle[:i+1]))
triangle = triangle[i+1:]
```
运行代码,输入n的值为4,输出结果如下:
```
1
1 1
2 1
1 2 1 1
```