编写一个函数fun,计算100/n。当输入一个数字n,若没有异常则计算并输出100/n的结果,若产生异常,则用户需要重新输入数字。
时间: 2024-02-01 20:14:59 浏览: 36
这里提供一个Python实现的代码:
```python
def fun():
while True:
try:
n = int(input("请输入一个数字:"))
result = 100 / n
print("100/{} = {}".format(n, result))
break
except ZeroDivisionError:
print("除数不能为0,请重新输入!")
except ValueError:
print("输入格式错误,请重新输入!")
```
该函数使用了一个while循环,不断接收用户输入,直到输入正确的数字为止。在try块中,首先将用户输入的字符串转换成整数,如果转换成功,则计算100/n的结果并输出;如果转换失败,则会抛出ValueError异常。如果n为0,则会抛出ZeroDivisionError异常。在except块中捕获这些异常并提示用户重新输入。如果没有异常,则退出循环。
相关问题
c语言编写一个自定义函数计算n!。主函数中输入n的值,并输出结果
好的,以下是C语言的代码实现:
```c
#include <stdio.h>
int factorial(int n);
int main() {
int n, result;
printf("请输入n的值:");
scanf("%d", &n);
result = factorial(n);
printf("%d的阶乘为%d\n", n, result);
return 0;
}
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
```
解释一下代码:
- 自定义函数 `factorial` 用来计算阶乘,递归实现;
- 主函数中输入 `n` 的值,并调用自定义函数 `factorial` 计算阶乘;
- 最后输出结果。
希望能够解决你的问题!
编写一个自定义函数计算n!。主函数中输入n的值,并输出结果
好的,以下是代码实现:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
n = int(input("请输入n的值:"))
result = factorial(n)
print("{}的阶乘为{}".format(n, result))
```
解释一下代码:
- 自定义函数 `factorial` 用来计算阶乘,递归实现;
- 主函数中输入 `n` 的值,并调用自定义函数 `factorial` 计算阶乘;
- 最后输出结果。
希望能够解决你的问题!