Python编写程序,n个人平均分配100元,用户输入由n个不同取值构成的列表,输出各种情况每人所分数额(分行输出,保留2位小数)。如果发生ZeroDivisionError则输出c;其他错误输出Error,列表元素处理完毕后,输出over,用try语句处理异常
时间: 2024-03-05 07:49:00 浏览: 6
好的,下面是Python代码实现:
```python
try:
nums = input().split()
n = len(nums)
for i in range(n):
nums[i] = int(nums[i])
for num in nums:
if num == 0:
print('c')
else:
money = round(100 / num, 2)
print(money)
except ZeroDivisionError:
print('c')
except:
print('Error')
finally:
print('over')
```
这段代码使用了try-except-finally语句来处理异常。首先,我们读入由n个不同取值构成的列表,将其转换为整数类型。在循环中,我们计算每个人能够分配到的金额,并使用round函数保留2位小数,最后进行输出。如果列表中有0,则输出'c'。如果出现除0错误,则同样输出'c'。其他错误则输出'Error'。无论如何,最后都会输出'over'。
相关问题
编写Python 程序,n个人平均分配100元钱,用户输入由n不同取值构成的列表,输出各种情况每人所分数额(分行输出,保留2位小数)。如果发生ZeroDivisionError 错误,则输出can’t be 0;其他错误输出Error。列表元素处理完毕后输出over 。
好的,以下是Python代码实现:
```python
try:
n_list = list(map(int, input().split())) # 输入n的列表
for n in n_list:
try:
money = 100 / n # 平均分配
for i in range(n):
print('%.2f' % money) # 保留2位小数输出
except ZeroDivisionError:
print('can’t be 0')
except:
print('Error')
print('over')
except:
print('Error')
```
使用 `try...except` 结构可以捕获错误并输出相应信息,注意保留小数时使用字符串格式化 `%.2f` 。
n个人平均分配100元钱,用户输入由n不同取值构成的列表,输出各种情况每人所分数额(分行输出,保留两位小数)。如果发生ZeroDivisionError则输出can't be 0;其他错误输出Error。列表元素处理完毕后输出over
好的,让我来帮你解决这个问题。下面是 Python 的代码实现:
```python
while True:
try:
n_list = list(map(int, input().split()))
for n in n_list:
if n == 0:
print("can't be 0")
continue
res = 100 / n
print("{:.2f}".format(res))
except ZeroDivisionError:
print("can't be 0")
except:
print("Error")
else:
print("over")
break
```
你可以输入一个由多个整数构成的列表,程序会自动输出每种情况下每个人所分的数额,每个数额占一行,保留两位小数。如果出现分母为 0 的情况,会输出 can't be 0;如果出现其他错误,会输出 Error。当处理完所有输入后,会输出 over 并结束程序。
希望能帮到你!