python 从键盘输入一个整数,分母不能为0 的异常处理。
时间: 2023-06-02 15:07:07 浏览: 118
当从键盘输入整数时,应该使用try-except语句来捕获分母为零的异常。具体方法如下:
```python
try:
num = int(input("请输入一个整数:"))
den = int(input("请输入一个非零整数作为分母:"))
result = num / den
print(result)
except ValueError:
print("请输入一个整数!")
except ZeroDivisionError:
print("分母不能为零!")
```
此代码可以处理输入非整数的情况,同时也可以处理分母为零的情况。如果出现这两种情况,程序将分别输出相应的错误信息。
相关问题
作业一 定义一个bird类, 类属性name,color,weight 在构造方法中为fly(bool类型,私有属性)赋值, 方法speak,如果属性fly为True则打印以下字符串"我是一只xxx,我会飞!", 否则打印"我是一只xxx,我不会飞 实例化两个对象分别为孔雀、凤凰,并传入fly参数,分别调用speak方法 作业二: 从键盘输入一个整数,并计算100除以该数字的结果 使用异常处理,捕捉分母为0的异常,打印出“分母不能是0”捕捉输入不为数字的异常,打印出“输入的不是数字’
作业一:
```python
class Bird:
def __init__(self, name, color, weight, fly):
self.name = name
self.color = color
self.weight = weight
self.__fly = fly
def speak(self):
if self.__fly:
print(f"我是一只{self.color}的{self.name},我会飞!")
else:
print(f"我是一只{self.color}的{self.name},我不会飞!")
peacock = Bird("孔雀", "彩色", 5, True)
phoenix = Bird("凤凰", "红色", 7, True)
peacock.speak()
phoenix.speak()
```
作业二:
```python
try:
num = int(input("请输入一个整数:"))
result = 100 / num
print(f"100 / {num} = {result}")
except ZeroDivisionError:
print("分母不能是0")
except ValueError:
print("输入的不是数字")
```
用python写:有一个分数数列:2/1,3/2,5/3,8/5,13/8,21/13,...,从键盘输入一个正整数n,求出这个数列的前n项之和。
好的,这是一个比较有趣的数学问题。以下是用Python实现的代码:
```python
def fraction_sum(n):
numerator = 2
denominator = 1
total = 0
for i in range(n):
total += numerator / denominator
numerator, denominator = numerator + denominator, numerator
return total
n = int(input("请输入一个正整数n:"))
print("前", n, "项分数之和为:", fraction_sum(n))
```
在这个代码中,我们首先定义了一个名为`fraction_sum`的函数,它接受一个整数n作为参数。接下来,我们初始化了分数数列的第一个分数的分子和分母,以及总和。然后,我们使用一个循环来计算分数数列的前n项之和。每次迭代中,我们将当前分数的分子和分母分别加上前一个分数的分子和分母,然后计算它们的比值,并将它们加到总和中。最后,我们返回总和。
在主程序中,我们使用`input`函数从用户那里获取一个正整数n,并将它传递给`fraction_sum`函数。最后,我们打印出结果。