注册 登录
编程论坛 Python论坛

这要怎么写?

Z89 发布于 2023-10-27 18:59, 1040 次点击
次选品  这要怎么写?

程序代码:
def coa (a,b,c,d,e):   
  if     80<a<100  and   80<b<100  and 80<c<100  and 80<d<100  and 80<e<100:      
      print('上选品')     

  if     80<a<100  and   80<b<100  and 80<c<100   :  #   a b c d e   其中3样有 80<  <100      
      print('次选品')     

  if     0<a<79  and    0<a<79  or   0<a<79  and    0<a<79    or   0<a<79   and    0<a<79   :

      print('下选品')

      
   


coa (85,73,65,82,88)  # 次选品    只要其中3样有 80< abcde <100 次选品

coa (85,73,82,30,81)   # 次选品   只要其中3样有 80< abcde <100 次选品

coa (85,73,82,81,20)   # 次选品   只要其中3样有 80< abcde <100 次选品   
        




[此贴子已经被作者于2023-10-27 19:01编辑过]

3 回复
#2
沈和2023-10-27 19:21
对输入数据排个序,问题就简单了。
不过这种分级标准挺奇怪的。如果三个小于 80,两个大于 80 该归于什么标准。

程序代码:

def coa(a,b,c,d,e):
    products = [a,b,c,d,e]
    products.sort()
    if products[0] > 80:
        print("上选品")
    elif products[2] > 80:
        print("次选品")
    elif products[4] < 80:
        print("下选品")
   
#3
Z892023-10-27 20:54
回复 2楼 沈和
a b c d e f 数值有标准可能会变动 ,不是固定的

只要符合3个项目,就是次选品,这要如何编写?

例如:  学生考了5个科目,各科的标准分数不同,挑选3科符合我要的数值,选出优等,或次等


只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2023-10-27 21:01编辑过]

#4
沈和2023-10-28 09:41
只要符合3个项目,就是次选品。


这种要求是不明确的。
举例来说 a,b,c 不符合标准,d, e 也不符合标准。按上述所说,这也是“次选品”。

下面,我假设一个认定标准,按这套标准来写代码。
    1. 一个样品有五个指标,指标可以用区间来约定
    2. 5 个指标都在区间内为上品,3 个以及以上指标不在区间内为次品
    3. 上品和次品之外的为其他

程序代码:

class Sample:
    def __init__(self, a, b, c, d, e):
        self.std = [(80, 90), (80, 88), (88, 98), (92, 100), (78, 100)]
        self.scores = [a, b, c, d, e]

    def result(self):
        count = 0
        for score, std in zip(self.scores, self.std):
            if std[0] < score < std[1]:
                count += 1

        if count == 5:
            print("上品")
        elif count <= 2:
            print("次品")
        else:
            print("其他")

if __name__ == "__main__":
    s = Sample(85,73,65,82,88)
    s.result()
   
1