gtx
[Arguments] @{crdnvlslst_params_args}
${dictx} Create Dictionary
${dictx_card_vals} Create Dictionary
${lenofcard}= Get Length ${crdnvlslst_params_args}
FOR ${element} IN @{crdnvlslst_params_args}
${card} ${cardtext}= Evaluate "${element}".split("=")
FOR ${x} IN RANGE 1 ${lenofcard}+${1}
${card_vals} Set Variable ${x}
Set To Dictionary ${dictx_card_vals} card_head=${card_vals} card_val=${EMPTY}
END
Set To Dictionary ${dictx} ${card} ${dictx_card_vals}
Log To Console ${dictx}
END
它正在输出:
{'C1': {'card_head': 4, 'card_val': ''}, 'C2': {'card_head': 4, 'card_val': ''}, 'C5': {'card_head': 4, 'card_val': ''}, 'C6': {'card_head': 4, 'card_val': ''}}
但是预期的输出应该是:
{'C1': {'card_head': 1, 'card_val': ''}, 'C2': {'card_head': 2, 'card_val': ''}, 'C5': {'card_head': 3, 'card_val': ''}, 'C6': {'card_head': 4, 'card_val': ''}}
我是机器人框架的新手,请帮忙。
我尝试了各种方法。 就像使用临时字典存储然后更新一样。它不起作用。请帮忙
在提供的代码片段中,对于外部 for 循环的每次迭代,内部循环运行四次。因此,它会导致将相同的值分配给 ${dictx_card_vals} 字典变量。尝试更改以下代码来解决此问题并实现预期输出,请考虑按如下方式修改代码:
gtx
[Arguments] @{crdnvlslst_params_args}
${dictx} Create Dictionary
${dictx_card_vals} Create Dictionary
${lenofcard}= Get Length ${crdnvlslst_params_args}
${x}= Set Variable ${0}
FOR ${element} IN @{crdnvlslst_params_args}
${card} ${cardtext}= Evaluate "${element}".split("=")
${x} evaluate ${x}+${1}
Set To Dictionary ${dictx_card_vals} card_head=${x} card_val=${EMPTY}
Set To Dictionary ${dictx} ${card} ${dictx_card_vals}
END