Python 在txt文件中添加新的联系人信息
我有这么长的python代码,我在完成或修复它时遇到困难,我需要帮助 首先我有这些代码- 这将只显示菜单,我已经创建了几个def函数。一个用于创建数据并保存到txt文件,另一个用于使用哈希函数拆分名称。联系人信息作为数据在txt文件中创建。最后,在一个while循环中,我必须以某种方式调用菜单代码,这就是我被卡住的地方,否则我可能需要修复整个问题。另外,当我把一个电话号码输入555-5555时,它会出错。我如何输入这样的数值Python 在txt文件中添加新的联系人信息,python,hash,Python,Hash,我有这么长的python代码,我在完成或修复它时遇到困难,我需要帮助 首先我有这些代码- 这将只显示菜单,我已经创建了几个def函数。一个用于创建数据并保存到txt文件,另一个用于使用哈希函数拆分名称。联系人信息作为数据在txt文件中创建。最后,在一个while循环中,我必须以某种方式调用菜单代码,这就是我被卡住的地方,否则我可能需要修复整个问题。另外,当我把一个电话号码输入555-5555时,它会出错。我如何输入这样的数值 def menu(): print("Contact List
def menu():
print("Contact List Menu:\n")
print("1. Add a Contact")
print("2. Display Contacts")
print("3. Exit\n")
menu()
choice = int(input("What would you like to do?: "))
def data():
foo = open("foo.txt", "a+")
name = input("enter name: ")
number = int(input("enter the number: "))
foo.write(name + " " + str(number))
foo.close()
def contact():
data = open("foo.txt")
file = {}
for person in data:
(Id, number) = person.split()
file[number] = Id
data.close()
while choice !=3:
if choice == 1:
print(data())
if choice ==2:
print(data())
menu()
choice = int(input("What would you like to do?: "))
程序似乎从未停止过,我必须使用菜单中的选项3退出程序。像
555-5555这样的电话号码不是有效的整数,因此请将其保留为文本
在menu()
内部调用menu()
调用menu()
,等等。这是递归。当您选择3
时,您将离开最后一个菜单()
,返回上一个菜单()
编辑:
顺便说一句:您必须在write
def menu():
print("Contact List Menu:\n")
print("1. Add a Contact")
print("2. Display Contacts")
print("3. Exit\n")
def data():
foo = open("foo.txt", "a+")
name = input("enter name: ")
number = int(input("enter the number: "))
foo.write(name + " " + str(number) + "\n") # new line
foo.close()
def contact():
data = open("foo.txt")
for person in data:
name, number = person.split()
print(name, number)
data.close()
#----------------
menu()
choice = int(input("What would you like to do?: "))
while choice !=3:
if choice == 1:
data()
if choice == 2:
contact()
menu()
choice = int(input("What would you like to do?: "))
如果您有错误,通常建议您显示堆栈跟踪和错误描述……不过,我修复了错误,只是删除了def数据函数代码上的int函数。但是while循环仍然存在同样的问题是的,我可以按3,也可以退出程序,但我无法确定如何使用其他选项。当我按2时,我无法找到选项2。当你按2
调用data()
notcontact()时
-您调用了错误的函数。那么,如果我想显示联系人,我必须在while循环中做些什么呢?啊,谢谢您的修复,但我现在不知道为什么它不会显示选项2上的任何内容,因为某些原因。您是否收到错误或其他信息?首先删除旧文件foo.txt
,因为每个联系人的末尾都没有“\n”,所以对于数据中的个人
将所有内容都作为一行读取。然后添加新联系人。