每次运行我的代码时,它总是在运行中创建多个列表 时间。我希望我写的所有用户名都放在一起 列表。
def Username_Lists():
for i in range(5):
name = input ('What is your name?: ')
if name not in my_names:
my_names.append(name)
print (name)
print (my_names, file=p)
执行如下:
['Bob']
['Bob', 'Mandy']
['Bob', 'Mandy', 'Batman']
['Bob', 'Mandy', 'Batman', 'Superman']
['Bob', 'Mandy', 'Batman', 'Superman', 'Spider-Man']
有关如何解决此问题的任何建议?
答案 0 :(得分:2)
您的print语句在for循环中。如果您只想在循环运行后打印一次,请减少缩进。
def Username_Lists():
for i in range(5):
name = input ('What is your name?: ')
if name not in my_names:
my_names.append(name)
print (name)
print (my_names, file=p)
答案 1 :(得分:0)
您的代码没有创建多个列表,您只需打印五次列表,就好像您创建了五个列表一样。
答案 2 :(得分:0)
你应该把你的版画带出循环,就像这里:
def Username_Lists():
for i in range(5):
name = input ('What is your name?: ')
if name not in my_names:
my_names.append(name)
print (name)
print (my_names, file=p)
并且,为避免重复,您还可以执行以下操作:
def Username_Lists():
for i in range(5):
name = input ('What is your name?: ')
my_names.append(name)
# remove repetitions
my_names = list(set(my_names))
print (name)
print (my_names, file=p)