迭代给定限制的数组(python)
我有三种不同元素的测量结果。(锡、铜、铅) 他们得到不同的评价,因为他们有不同的限制。 例如,我有一个石头混合物中的铅、锡和铜含量作为我的测量值,以及返回不同东西的特定限值迭代给定限制的数组(python),python,loops,Python,Loops,我有三种不同元素的测量结果。(锡、铜、铅) 他们得到不同的评价,因为他们有不同的限制。 例如,我有一个石头混合物中的铅、锡和铜含量作为我的测量值,以及返回不同东西的特定限值 measurement_lead = 150 measurement_tin = 1 measurement_copper = 1002 limits_lead = [0.5, 10, 50, 100] limits_tin = [0.7, 14, 990, 11000] limits_copper = [5, 60, 61
measurement_lead = 150
measurement_tin = 1
measurement_copper = 1002
limits_lead = [0.5, 10, 50, 100]
limits_tin = [0.7, 14, 990, 11000]
limits_copper = [5, 60, 61, 98880]
现在,我必须检查我的一个(或多个)测量值是否高于最高限值,如果是“做点什么”,如果不是,我必须检查一个是否高于第二个最高限值和低于最高限值,以此类推,直到测量值小于最小限值为止
希望一切都清楚。正在尝试用python编写:)
编辑:始终有4个限额,金额不能变化。这些是每个元素的限制。测量值可以等于一个极限。它应始终检查大于或等于
我试过这个:
measurement\u lead=201
测量单位:铜=10
计量单位=2008年
e_mat=2000
b_mat=900
pw=20
t_mat=1
极限导线=[t_线、pw线、b_线、e_线]
e_mat=45
b_mat=43
pw=34
t_mat=2
极限铜=[t_-mat,pw,b_-mat,e_-mat]
e_mat=10
b_mat=5
pw=2
t_mat=0.5
极限值=[t_-mat,pw,b_-mat,e_-mat]
对于i/U潜在客户:
如果i>=e_mat:
打印(“测量值高于e_-mat”)
elif e_mat>=i>=b_mat:
打印(“测量在e_-mat和b_-mat之间”)
elif b_mat>=i>=pw:
打印(“测量在b_垫和pw之间”)
elif pw>=i>=t_材料:
打印(“测量在pw和t_-mat之间”)
如果t_mat>=i>=rw:
打印(“测量在t_垫和rw之间”)
elif i>=rw:
打印(“测量值低于rw”)
现在它需要检查一个测量值是否高于e_-mat(根据其给定的限制,每个元素都有不同的限制),如果否:如果一个测量值介于e_-mat和b_-mat之间,依此类推。您的问题需要澄清:
我认为这三个测量值是否都达到极限并不重要,只要一个达到极限就行。如果是这种情况,请尝试以下方法:
if measurement_lead >= limits_lead[3] or measurement_tin >= limits_tin[3] or measurement_copper >= limits_copper[3]:
#do something because 1 or more meets the highest requirement
exit
elif measurement_lead >= limits_lead[2] or measurement_tin >= limits_tin[2] or measurement_copper >= limits_copper[2]:
#do something because 1 or more is between the second highest and highest
exit
elif measurement_lead >= limits_lead[1] or measurement_tin >= limits_tin[1] or measurement_copper >= limits_copper[1]:
#do something because 1 or more is between the third highest and second highest
exit
else:
#do something because 1 or more is between the lowest and third highest
exit
Idk您的do sth是什么,但请确保在“do sth”之后结束循环,以便只有在前一个块中的三个条件均未满足时,下一个elif块才会执行。让我知道这是否合理。:) 请用您尝试过的代码更新您的问题。您能澄清一下限制是如何工作的吗?谢谢,我编辑了我的帖子谢谢,编辑了我的帖子谢谢,在您的帮助下能够解决我的问题!耶!太好了:)
if measurement_lead >= limits_lead[3] or measurement_tin >= limits_tin[3] or measurement_copper >= limits_copper[3]:
#do something because 1 or more meets the highest requirement
exit
elif measurement_lead >= limits_lead[2] or measurement_tin >= limits_tin[2] or measurement_copper >= limits_copper[2]:
#do something because 1 or more is between the second highest and highest
exit
elif measurement_lead >= limits_lead[1] or measurement_tin >= limits_tin[1] or measurement_copper >= limits_copper[1]:
#do something because 1 or more is between the third highest and second highest
exit
else:
#do something because 1 or more is between the lowest and third highest
exit