如果elif else阻塞,则对每个CA进行评估

2024-09-28 05:22:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将迭代器附加到列表中,但下面的代码针对每种情况进行计算

Less7=Head7=Over7=[]
i=0

for i in range(0,10):
    if i<7:
        Less7.append(i)

    elif i==7:
        Head7=i

    else:
        Over7.append(i)

我得到的结果是: Head7是一个int值7 Less7和7以上为列表-[0,1,2,3,4,5,6,7,8,9]

我期望的结果是:

Less7=[0,1,2,3,4,5,6]

Head7=[7]

Over7=[8,9]

我相信这是基本的,你能给我指出正确的方向吗? 我认为这与数据类型有关。 当我单步执行代码时,即使Head7也会计算[0,1,2,3,4,5,6],但当i=7时,它会正确地赋值,但我希望它出现在列表中


Tags: 代码in列表forif情况range方向
1条回答
网友
1楼 · 发布于 2024-09-28 05:22:28

您需要创建三个列表,每个可能的结果一个:

less_than_7, is_7, greater_than_7 = [], [], []

for i in range(0, 10):
    if i < 7:
        less_than_7.append(i)
    elif i > 7:
        greater_than_7.append(i)
    else:
        is_7.append(i)

Less7=Head7=Over7=[]创建一个由三个名称引用的列表,这样您的输出将与添加到同一列表时相同,在第一种和最后一种情况下,Head7=iHead7设置为等于i/7

相关问题 更多 >

    热门问题