为了解决问题,我有以下数据。
A = [170,170,150]
b = 160
C = [2,2]
xb = [b/(k-1) for k in C]
print(xb)
输出:
[160.0, 160.0]
现在更改C列表:
A = [170,170,150]
b = 160
C = [2,1]
xb = [b/(k-1) for k in C]
print(xb)
输出:
Error ZeroDivisionError: division by zero
好吧,预计它不会运行,现在我们找到了运行它的解决方案。
xb = []
for k in C:
try:
xb.append(b/(k-1))
except ZeroDivisionError:
xb.append(0)
print(xb)
输出:
[160.0, 0]
我的问题是如何编写上述解决方案的简短版本,例如第一个解决方案?
答案 0 :(得分:1)
您可以检查列表推导内是否存在被零除的情况,如下所示:
<template>
<view class="container">
<text class="text-color-primary">My Vue Native App</text>
</view>
</template>
<style>
.container {
background-color: white;
align-items: center;
justify-content: center;
flex: 1;
}
.text-color-primary {
color: blue;
}
</style>
输出:
A = [170,170,150]
b = 160
C = [2,1]
xb = [b/(k-1) if k != 1 else 0 for k in C]
print(xb)
答案 1 :(得分:1)
您的示例之一的解决方案
for (var i = 1; i < this.people.length; i++) {
答案 2 :(得分:1)
A = [170,170,150]
b = 160
C = [2,1]
xb = [b/(k-1) if k != 1 else 0 for k in C]
print(xb)