gpt4 book ai didi

python - 如果以上都不是python

转载 作者:太空狗 更新时间:2023-10-30 01:44:15 28 4
gpt4 key购买 nike

我需要对传感器数据进行一系列检查,这些检查都是独立的,因此它们不能被格式化为 elifs 或 elses,如果任何检查失败,我需要将其打印给用户。如果没有任何检查失败,我想告诉用户传感器没问题

(i 只是遍历数组中所有传感器的迭代器)

if worst_stdev[i] > 5:
print("Sensor bad, STDEV VALUE: {}".format(worst_stdev[i]))
if worst_invalid[i] > 2:
print("Sensor bad, INVALID VALUE: {}".format(worst_invalid[i]))
if worst_err[i] > 1:
print("Sensor bad, ERROR VALUE: {}".format(worst_bit_err[i]))
if not (worst_stdev[i] > 5 or worst_invalid[i] > 2 or worst_err[i] > 1):
print("Sensor OK")

最后一个 if 语句最让我烦恼,再次检查我已经检查过的所有内容感觉多余(而且可能更慢?)。有什么好的方法可以让它更优雅吗?

最佳答案

我会保留一个标记变量来跟踪错误。例如:

was_error = False
if worst_stdev[i] > 5:
print("Sensor bad, STDEV VALUE: {}".format(worst_stdev[i]))
was_error = True
if worst_invalid[i] > 2:
print("Sensor bad, INVALID VALUE: {}".format(worst_invalid[i]))
was_error = True
if worst_err[i] > 1:
print("Sensor bad, ERROR VALUE: {}".format(worst_bit_err[i]))
was_error = True
if not was_error:
print("Sensor OK")

或者你可以有几个不同的错误变量,这样你就可以知道是哪个错误发生了。如果您不关心抛出了哪个错误,但确实想知道有多少错误,则可以每次递增错误变量。这样做的结果是仍然使用语法 if not was_error:

关于python - 如果以上都不是python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45800155/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com