为什么当我要求shell上的python第二次打印它时,我的列表是空的?
def name():
name = str(input("Name:"))
return name
def phone():
phone = str(input("Phone Number: "))
return phone
def email():
email = str(input("Email: "))
return email然后,我创建了一个join函数,以便将所有数据添加到列表中:
def join(lst, name, phone, email):
name = name()
if name in lst:
print("Name already in")
phone = phone()
if phone in lst:
print("Phone already exists")
email = email()
if email in lst:
print("Email already exists!")
lst += [name]
lst += [phone]
lst += [email]
print("Added!")
return lst函数列出地址簿上的每个条目:
def print_list(lst):
print(lst)菜单看起来是这样的:
def menu():
print("1-New Contact")
print("2-Print list")
option = int(input("Option:"))
return option
def repeat(lst):
option = menu()
while option < 2 and option >= 1:
if option == 1:
lst = join(lst, name, phone, email)
elif opcao == 2:
lst = print_list(lst)
else:
print("Invalid option")
opcao = menu()
lst = []
call = repeat(lst)
print(call)发布于 2015-12-20 23:42:44
我认为打印代码是指代码的这一部分:lst=print_list(lst)和list在lst变量中。
这里要做的是在第一次调用之后将print_list函数的返回值赋给您的lst变量。这将将其设置为None,因为print_list不显式返回任何值。当您尝试第二次打印时,lst为None,而没有打印任何内容。
不应该赋值给lst,只需调用print_list(lst)而不分配返回值:
elif opcao==2: print_list(lst)https://stackoverflow.com/questions/34387020
复制相似问题