关于idle显示输出问题

今天学习的循环嵌套:
dog_cal = 140
bun_cal = 120
ket_cal = 80
mus_cal = 20
onion_cal = 40

print "\tdog \tbun \tketchup \tmustard \tonions \tcalories "
count = 1
for dog in [0,1]:
for bun in [0,1]:
for ketchup in [0,1]:
for mustard in [0,1]:
for onion in [0,1]:
total_cal = (bun *bun_cal)+(dog *dog_cal)+\
(ketchup *ket_cal)+(mustard *mus_cal)+\
(onion *onion_cal)
print "#",count,"\t",
print dog ,"\t",bun, "\t",ketchup,"\t",mustard, "\t", onion,

print "\t" ,total_cal, "\t"
count = count + 1
下面是idle输出的显示:
>>> ================================ RESTART ================================

dog     bun     ketchup     mustard     onions  calories 

1 0 0 0 0 0 0

2 0 0 0 0 1 40

3 0 0 0 1 0 20

4 0 0 0 1 1 60

5 0 0 1 0 0 80

6 0 0 1 0 1 120

7 0 0 1 1 0 100

8 0 0 1 1 1 140

9 0 1 0 0 0 120

10 0 1 0 0 1 160

11 0 1 0 1 0 140

12 0 1 0 1 1 180

13 0 1 1 0 0 200

14 0 1 1 0 1 240

15 0 1 1 1 0 220

16 0 1 1 1 1 260

17 1 0 0 0 0 140

18 1 0 0 0 1 180

19 1 0 0 1 0 160

20 1 0 0 1 1 200

21 1 0 1 0 0 220

22 1 0 1 0 1 260

23 1 0 1 1 0 240

24 1 0 1 1 1 280

25 1 1 0 0 0 260

26 1 1 0 0 1 300

27 1 1 0 1 0 280

28 1 1 0 1 1 320

29 1 1 1 0 0 340

30 1 1 1 0 1 380

31 1 1 1 1 0 360

32 1 1 1 1 1 400

问一下为什么会这样,怎么改呢。先谢谢了。

你的代码没有缩进,运行结果markdown也用错了。
关键是,你想做什么也没说,哪里不符合你的预期不知道。没法回答你的问题。

只能就你的程序说,它为什么这么输出。
因为你有5个循环,每个循环循环2次,所以对于最内侧的循环来说一共执行了2*2*2*2=16次,每次循环2次,输出0 1,所以最内层是
0 1 0 1 ... 一共16次0 1
倒数第二层循环循环了8次,每次循环2次,而每一次又被最内侧循环重复2遍,所以是8个 0 0 1 1
再外侧是4个0 0 0 0 1 1 1 1
...
最外侧是16个016个1。
这个程序把所有食物的全组合枚举出来了,然后计算了卡路里的和。
汉堡140,包子120,番茄酱 80 ... 然后最后一列是所有为1的项目的和,所以是0 40 20 60 80 ...

这个是我做的截图