if elif else 块对每个案例进行评估
if elif else blocks evaluate for every case
我正在尝试将迭代器附加到列表,但下面的代码会针对每种情况进行评估。
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 和 Over7 是列表 - [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
时它会正确分配值,但我希望它在列表中。
您需要创建三个列表,每个可能的结果对应一个列表:
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=i
设置 Head7
等于 i/7
.
我正在尝试将迭代器附加到列表,但下面的代码会针对每种情况进行评估。
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 和 Over7 是列表 - [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
时它会正确分配值,但我希望它在列表中。
您需要创建三个列表,每个可能的结果对应一个列表:
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=i
设置 Head7
等于 i/7
.