n = int(input("输入一个整数")) m = 1 flag = True for i in True: m = n * (n-1) n -= 1 if i == 1: flag = False print(m),求一个数的阶乘,这串代码错在哪里
时间: 2024-03-18 14:41:46 浏览: 62
计算一个数的阶乘
这段代码有以下几个错误:
1. `for i in True` 应该是 `for i in range(1, n+1)`,用于遍历 1 到 n 之间的每个整数。
2. `m = n * (n-1)` 应该是 `m *= n`,用于计算阶乘。
3. `if i == 1: flag = False` 应该是 `if n == 1: break`,用于在计算到 1 时跳出循环。
所以,正确的代码应该是这样的:
```
n = int(input("输入一个整数"))
m = 1
for i in range(1, n+1):
m *= i
if n == 1:
break
print(m)
```
阅读全文