我正在通过这4本词典,它们由不同类型的测试用例组成。你知道吗
1. Manual-Smoke ==> d1
2. Manual- Regression ==> d2
3. Automated-Smoke ==> d3
4. Automated-Regression ==> d4
现在我将一个包含4个字典的列表传递给一个函数 让我数数。我的问题是计算所有“手动”案例的数量; “自动化”案例
我有一张单子,上面写着input_list =[d1,d2,d3,d4]
。现在,我要执行6个场景:
1. d1 && d2
2. d3 && d4
3. d1
4. d2
5. d3
6. d4
因此,如果出现上述任何一种情况,那么我将采取措施。因此,我使用的代码涵盖了4个场景,但从未涵盖前两个场景
for d in dict:
if d ==d1 and d==d2:
print 'Scenario:1 ==> d1 && d2'
elif d==d3 and d==d4:
print 'Scenario:2 ==> d3 && d4'
else:
if d==d1:
print 'Scnario 3: ==> d1'
elif d==d2:
print 'Scnario 4: ==> d2'
elif d==d3:
print 'Scnario 5: ==> d3'
elif d==d4:
print 'Scnario 6: ==> d4'
我知道我的循环从不陷入Scenario 1
&;Scenario 2
条件,因为我的列表不包括(d1,d2) (d3,d4)
。你知道吗
你们能帮我改进代码吗?你知道吗
我们正在迭代
list
类型的数据结构。所以给变量起个有意义的名字。我给了input_list =["d1", "d2", "d3", "d4"]
当我们迭代
list
即input_list
变量时,列表中的一项将被迭代。所以我们不能做if d ==d1 and d==d2:
,因为我们在比较一个项目和两个不同的条件,这两个条件总是错误的。你知道吗我从你的代码中了解到,我们有一个列表,根据一些硬代码条件,我们必须执行一些场景。你知道吗
演示:
假设列表包含字典项。你知道吗
演示
备注:
dict
是Python中的关键字。你知道吗以下代码
印刷品
因此每次通过循环时,变量
d
只有一个值。它不可能同时是1
和2
。你知道吗但这是你一次测试的警卫。也就是说,你测试
d==1 and d==2
修改以适合我的例子,这永远不会是事实。你知道吗既然如此,您的代码如何改进?请看下面的代码
这将打印
我们可以从中了解到
in
可以确定数组中是否包含元素。因此,不要在数组上循环,而是尝试检查不同的情况。所以你的复合测试看起来像1 in dict and 2 in dict
。你知道吗相关问题 更多 >
编程相关推荐