对于我正在编写的表单,我有以下(简化的)条件需要验证:
a > b
a > c
a > d
b > c
b > d
c > d
从图形上看,这可以看作:
用户可以自由输入 a、b、c 和 d 的值,这就是为什么需要验证它们以确保它们遵守这些规则的原因。我遇到的问题是写一些清晰有效地评估每个陈述的东西。当然,最明显的方法是将每个语句单独评估为 if 语句。不幸的是,这占用了很多代码行,我宁愿避免用一堆几乎做同样事情的 if 块来混淆方法。我确实使用数组提出了以下嵌套的 for 循环解决方案。我构建了一个值数组,并循环了两次(用类似 Python 的伪代码演示):
A = [a, b, c, d]
for i in range(3):
for j in range(i, 4):
if i > j and A[i] >= A[j]:
print("A[i] must be less than A[j]")
else if i < j and A[i] <= A[j]:
print("A[j] must be greater than A[i]")
我对这个解决方案的问题是很难阅读和理解 - 解决方案只是不清楚。
我有一种挥之不去的感觉,那就是那里有一个更好、更清晰的答案,但我一生都想不出它。这不是家庭作业或任何东西——我实际上正在做一个项目,这个问题(或它的细微变化)不止一次出现,所以我想制作一个清晰有效的可重用解决方案。任何输入将不胜感激。谢谢!