计数达到10后,Python for loop会两次打印项目

时间:2018-07-16 07:28:54

标签: python-3.x for-loop output

我是Python的初学者,对于待办事项列表,我有一个简单的for循环,一旦计数达到10,它就会将每个项目打印两次。有人可以给我一个线索,为什么会这样? / p>

for item in mylist:
    print(item)

Sample output:
1.Walk the dog
2.Make the bed
...
10.Take out the trash
11.Take out the trash
12.Call Sara
13.Call Sara

name = input("What is your name?")
print(name + "\'s To-Do-List")

mylist = []
count = 1
while True:
    newitem = input("What do you want to add to your to-do-list?")

    if newitem == "nothing" or newitem == "NOTHING" or newitem == "Nothing":
        print("\n")
        print("Your to-do-list is complete!")
        print("You have " + str(count - 1) + " items on your to-do-list: \n")
        for item in mylist:
            print(item)
        break

print(str(count) + ": " + newitem)
    for i in str(count):
        mylist.append(newitem)
    count += 1

1 个答案:

答案 0 :(得分:0)

感谢@Rakesh帮助清理此问题,但我认为它仍然与问题中的观察结果不一致。 for循环之前的打印行也可能缩进。

我认为导致您两次打印的行是:

for i in str(count):

您将计数变量转换为字符串,因此从10​​开始的数字将重复两次[1,0],从100开始的数字将重复三次[1,0,0]。本质上,这些就是字符串中的字符数。

在任何情况下,它看起来都不像我在这里需要一个for循环,除非您试图做一些我不了解的事情。

print(str(count) + ": " + newitem)
mylist.append(newitem)
count += 1