我是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
答案 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