python - 除了多个元素,我如何使用 try?
问题描述
所以我试图设置几个值除以可能为 0 的其他变量,所以我决定使用 try 除了:
try:
p = pacific / float(a)
m = mountain / float(b)
c = central / float(c)
e = eastern / float(d)
except ZeroDivisionError:
p = 0
m = 0
c = 0
e = 0
print(p)
print(m)
print(c)
print(e)
因此,由于 abc 和 d 都可能为零,我想创建一个实例,如果 pmc 或 e 由于 abc 或 d 为零而最终未定义,那么我只想设置一个特定的未定义变量(pmc 或e) 为 0。例如,如果 pmc 都分成浮点数,但 d 为 0,并且 e 变为未定义,我想返回 p、m 和 c 的数值,但 e 为 0。我如何实现这一点? 我上面的代码,如果 pmc 或 e 中只有一个变量未定义,则将 pmc 和 e 全部设置为 0。我知道我可能会强制执行此操作并尝试除 4 个变量中的每一个变量外,但我正在寻找一种方法来缩短这段代码。
解决方案
您可以编写一个函数来尝试除法并返回默认值。
def mydiv(a, b):
try:
return a/float(b)
except ZeroDivisionError:
return 0
p = mydiv(pacific, float(a))
m = mydiv(mountain, float(b))
c = mydiv(central, float(c))
e = mydiv(eastern, float(d))
推荐阅读
- amazon-dynamodb - cloudformation中如何添加ECR和Dynamodb权限?
- ruby - 在 ruby 中创建类似 Mustache Helpers (Lambda) 函数的 Javascript
- java - 从 CompletableFuture 获取响应
- python - 如果一行中有两个或多个相同元素,则检查数组
- javascript - 首次单击提交按钮时如何始终隐藏 div?
- amazon-dynamodb - 如果放置项目太快,DynamoDB 输入损坏的项目?
- animation - 如何制作花卉动画?
- java - 本地类的用法、Javac 翻译和运行时行为
- powershell - 自定义睡眠功能可在不挂起时使 UI 睡眠 - 问题:计时器略微漂移
- python - Python:如何在菜单栏的菜单中获取选定的元素?