繁体   English   中英

如何修改我的 for 循环以提取正确的数据

[英]How can I modify my for loop so that it extracts the correct data

thread_list = ['DWr','Idle','MulWr','Lock']
Target_list = ['0','0','0','1']
trd_coor = [26,10,51,10,226,10,251,10]
mem_coor = [10,215,35,215,60,215,85,215]
targ_1 = ['write','unchachable']
count_T = 0
count_X1 = 0
count_Y1 = 0
count_target = 0
count_target_1 = 0
count_dash_T = 0
T = []
trd_Y1 = []
count_dash_T_list = [0,1,2,3]
for i in trd_coor[1::2]:
    Y1 = i
    trd_Y1.append(Y1)
for i in range(0,len(count_dash_T_list)):
    target = Target_list[count_target]
    count_target += 1
    print(target)
    for i in targ_1:
        if (target == '0'):
            if (i == 'write'):
                X2 = mem_coor[0]
                Y2 = mem_coor[1]
        elif (target == '1'):
            if (i == 'uncachable'):
                X2 = mem_coor[2]
                Y2 = mem_coor[3]
            else:
                break
                    
    print(X2)
    print(Y2)

当 target_list 中的元素为 1 时,我希望 output 为 35,215,这是我当前的 output:0 10 215 0 10 215 0 10 215 1 10 215

这是我想要的 output:0 10 215 0 10 215 0 10 215 1 35 215

所以有两个问题

    • 带有单词unchachable的错字
    • breakelse语句

如果你仔细看for话当我们 go 进入最后

 for i in targ_1:
        if (target == '0'):
            if (i == 'write'):
                X2 = mem_coor[0]
                Y2 = mem_coor[1]
        elif (target == '1'):
            if (i == 'uncachable'):
                X2 = mem_coor[2]
                Y2 = mem_coor[3]
            else:
                break

target值为1所以我们 go 到elif并检查if声明。 但是iwrite的,所以我们 go 到else然后break

如果您更改类型并删除中断,那么它应该可以工作

thread_list = ['DWr','Idle','MulWr','Lock']
Target_list = ['0','0','0','1']
trd_coor = [26,10,51,10,226,10,251,10]
mem_coor = [10,215,35,215,60,215,85,215]
targ_1 = ['write','unchachable']
count_T = 0
count_X1 = 0
count_Y1 = 0
count_target = 0
count_target_1 = 0
count_dash_T = 0
T = []
trd_Y1 = []
count_dash_T_list = [0,1,2,3]

for i in trd_coor[1::2]:
    Y1 = i
    trd_Y1.append(Y1)
for i in range(0,len(count_dash_T_list)):
    target = Target_list[count_target]
    count_target += 1
    print(target)
    for i in targ_1:
        if (target == '0'):
            if (i == 'write'):
                X2 = mem_coor[0]
                Y2 = mem_coor[1]
        elif (target == '1'):
            if (i == 'unchachable'):
                X2 = mem_coor[2]
                Y2 = mem_coor[3]
    print(X2)
    print(Y2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM