首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python中打印语句的比较

python中打印语句的比较
EN

Stack Overflow用户
提问于 2021-04-28 16:49:23
回答 3查看 55关注 0票数 0

例如,如果订单编号+硬件版本+软件版本+ Mac地址+设备类型"PASS“,那么即使其中一个”失败“,也应该打印总的结果"PASS”,那么总体结果应该打印“failed”,并打印失败的内容,例如硬件版本。我希望你们能理解我想做的事情,我会写一段伪代码来解释我想要做的事情。

  1. 如果订单编号= PASS +硬件版本= PASS +软件版本= PASS + Mac地址= PASS +设备类型= PASS,则总体结果=打印(“总体结果传递”)

如果有一个字段是“

  1. ”,例如:如果Order Number = FAIL + Hardware Version = PASS + Software = PASS + Mac = PASS +设备类型= PASS,则总体结果=print(“总体结果失败”,“订单编号失败”)

  1. 如果订单数量=失败+硬件版本=失败+软件版本= PASS + Mac地址= PASS +设备类型= PASS,则总体结果=打印(“总体结果失败”、“订单数量失败”、“硬件版本失败”)

4.诸若此类

我正在尝试实现这个函数,但我真的不知道该如何实现它,请放心,我刚刚开始编程的人,如果有人能给我看一个如何制作这个函数的示例代码,并且建议也非常感谢。

代码语言:javascript
运行
复制
# Order number
print("Desired Order number:",d_ordernum)
print("Order number from scancode :",scan_code_cropped_artikel)
print("Ordernumber from wbm: ", ord_nmr)
if d_ordernum == ord_nmr == scan_code_cropped_artikel:
    print("Order number PASS")
else:
    print("FAIL")
print(100*"")

# Hardware version
print("Desired Hardware Version:",d_hw_version)
print("Hardware Version from wbm: ", v)
if d_hw_version == v:
    print("Hardware version PASS")
else:
    print("Wrong Hardware Version")
print(100*"")

# Software version
print("Desired Software Version:",d_sf_version)
print("Software Version from wbm: ", b)
if d_sf_version == b:
    print("Software version PASS")
else:
    print("FAIL")
print(100*"")

# Mac address
print("Mac address from scancode :",scan_code_cropped_mac)
print("Mac address from wbm: ", mac_addr)
list_of_chars = mac_addr.split(":")
mac_address_string_joined = ''.join(list_of_chars) 
if scan_code_cropped_mac == mac_address_string_joined:
    print("PASS")
else:   
    print("FAIL")
print(100*"")
# Product Code
d_product_code = pc_praefix + "-" + d_sf_version + "-" + d_hw_version
product_code = pc_praefix + "-" + b + "-" + v
print("Desired product code: ",d_product_code )
print("Product code of current device: ", product_code)
print(100*"")


#Device type
print("Desired device type:",d_dev_typ)
print("Device type from wbm: ", dev_typ)
if d_dev_typ == dev_typ:
    print("PASS")
else:
    print("FAIL")
print(100*"")
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-04-28 17:18:19

假设您只需要一些代码来增强您在问题中拥有的代码的功能,那么您可以做一些事情,比如维护一个标志来决定是输出一个总的传球还是失败,还有一个列表来保存您想要输出的状态。

下面是一个如何操作状态列表的示例(您可以调整它以满足您的需要):

代码语言:javascript
运行
复制
OVERALL_STATUS = 1
STATUS_LIST = []

# Order number
print("Desired Order number:",d_ordernum)
print("Order number from scancode :",scan_code_cropped_artikel)
print("Ordernumber from wbm: ", ord_nmr)
if d_ordernum == ord_nmr == scan_code_cropped_artikel:
    print("Order number PASS")
else:
    print("FAIL")
    OVERALL_STATUS = 0
    STATUS_LIST.append('Order Number FAIL')
print(100*"")

# Hardware version
print("Desired Hardware Version:",d_hw_version)
print("Hardware Version from wbm: ", v)
if d_hw_version == v:
    print("Hardware version PASS")
else:
    print("Wrong Hardware Version")
    OVERALL_STATUS = 0
    STATUS_LIST.append('Order Number FAIL')
print(100*"")

if OVERALL_STATUS:
    print('Overall Result PASS')
else:
    print('Overall Result FAIL, ' + ', '.join(STATUS_LIST))
票数 1
EN

Stack Overflow用户

发布于 2021-04-28 16:57:25

如果我对你的理解是正确的,那就试着写这样的东西:

代码语言:javascript
运行
复制
def my_func(d_ordernum, scan_code_cropped_artikel, ord_nmr):
    my_list = [d_ordernum, scan_code_cropped_artikel, ord_nmr]
    if 'FAIL' in my_list and 'PASS' in my_list:
        print('d_ordernum = {}\n'
              'scan_code_cropped_artikel = {}\n'
              'ord_nmr = {}'.format(d_ordernum, scan_code_cropped_artikel, ord_nmr))
    if 'FAIL' in [d_ordernum, scan_code_cropped_artikel, ord_nmr]:
        print('One or more FAIL')

然后遵循同样的逻辑

票数 1
EN

Stack Overflow用户

发布于 2021-04-28 17:18:55

还有一种解决办法。

不管字典是通过还是失败,你都可以维护它。如果它被传递,那么值就是True else False。

代码语言:javascript
运行
复制
mapping = {"d_order_num": False, "d_hw_version": False,
           "d_sf_version": False, "mac_addr_matched": False,
           "d_dev_typ": False}


def check_all_matches():
    if all(mapping.values()):
        print("PASS. All matched")
    else:
        print("FAIL")


# Order number
print("Desired Order number:", d_ordernum)
print("Order number from scancode :", scan_code_cropped_artikel)
print("Ordernumber from wbm: ", ord_nmr)
if d_ordernum == ord_nmr == scan_code_cropped_artikel:
    mapping["d_order_num"] = True

# Hardware version
print("Desired Hardware Version:", d_hw_version)
print("Hardware Version from wbm: ", v)
if d_hw_version == v:
    mapping["d_hw_version"] = True

# Software version
print("Desired Software Version:", d_sf_version)
print("Software Version from wbm: ", b)
if d_sf_version == b:
    mapping["d_sf_version"] = True

# Mac address
print("Mac address from scancode :", scan_code_cropped_mac)
print("Mac address from wbm: ", mac_addr)
list_of_chars = mac_addr.split(":")
mac_address_string_joined = ''.join(list_of_chars)
if scan_code_cropped_mac == mac_address_string_joined:
    mapping["mac_addr_matched"] = True


# Device type
print("Desired device type:", d_dev_typ)
print("Device type from wbm: ", dev_typ)
if d_dev_typ == dev_typ:
    mapping["d_dev_typ"] = True


check_all_matches()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67304520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档