【发布时间】:2019-07-24 22:44:44
【问题描述】:
我有清单
num1 = [1, 3, 5]
num2 = [2, 4, 6]
我需要按顺序打印两个列表中从 1 到 6 的所有整数,而不使用排序或追加。我必须使用 for 循环和计数器。计数器应该用作指针。
我尝试了在 for 循环中使用 x 的不同方法,但似乎无法获得指向每个特定索引的 x 值
x=0
for num in num1:
if (num1 + num2)[x] > num:
print num
elif (num1 + num2)[x] < num:
print num[x]
else: x = x + 1
我希望我的输出是
1
2
3
4
5
6
但我继续收到错误消息
【问题讨论】:
-
我在运行您的代码时没有收到错误消息,但我也没有得到输出。需要注意的几个问题:您的
for循环将只有 3 次迭代,并且您在条件语句中的条件永远不会为真,因为(num1 + num2)[x]始终等于num。 -
这里可能适合使用
for循环而不是for循环。但是你为什么要避开sort和append? -
在这个问题上,我们的教授希望我们专门使用 for 循环。并避免排序和追加,因为这将是一个简单的解决方案。他给了我们使用循环计数器并将计数器用作指针的提示。
-
num1 = [1, 3, 5] num2 = [2, 4, 6] num3 = num1 + num2 x = 0 #编写从两个列表中按顺序打印值的代码#不能使用对 num3 中的 num 进行排序或附加: if num1[x] > x: x = num1[x] elif num1[x]
-
列表总是这样排列吗?例如,你会拥有
num1 = [1, 5, 3]和num2 = [6, 2, 4]吗?
标签: python-2.7 for-loop counter