如何解决从用户输入更新变量
我正在尝试制作一个程序,让用户输入联系人信息,该信息然后存储在Google表格文档中。用户通过短语输入他们的输入:
def add_phone():
contact_phone = input("Please enter the contact's phone number: ")
我用它来设置contact_phone变量,该变量在文档顶部由contact_phone = ''
定义。问题是,当我尝试将此信息发送到Google表格文档
def store_info(contact_phone):
worksheet.append_row(contact_phone)
它说
Traceback (most recent call last):
File "/Users/user/PycharmProjects/contactList/main.py",line 46,in <module>
add_contact()
File "/Users/user/PycharmProjects/contactList/main.py",line 19,in add_contact
store_info()
TypeError: store_info() missing 7 required positional arguments: 'contact_fname','contact_lname','contact_phone','contact_email','contact_address','contact_birthday',and 'contact_notes'
正如您所看到的,我使用的变量不仅仅是contact_phone
,但所有使用的变量(contact_fname,contact_lname等)都存在相同的问题。
我想知道是否有任何方法可以在执行此步骤之前将变量从''
更新为输入的变量(电话号码),而无需停止代码。
在用户(contact_phone = contact_phone)
输入输入后,我尝试将变量设置为自身,但是没有成功。
解决方法
Google电子表格中似乎有7列。 您需要传递列表中的所有7列。 例如
worksheet.append_row(['contact_fname','contact_lname',contact_phone,'contact_email','contact_address','contact_birthday','contact_notes'])
替换实际值。
如果只需要附加contact_phone,则首先获取行列表中的详细信息,然后附加row [3] = contact_phone。
,我想出了答案。我首先在输入函数global contact_phone
中定义了全局变量(根据用户的建议:martineau)。
这并不能解决我所有的问题。我有一个具有所有步骤的功能,包括输入功能和将信息发送/保存到Google Sheet文档的功能。我意识到这些变量在函数完成之前不会更新,因此我从主函数中删除了Google Sheets函数(读取输入的变量),并在调用主函数后自行对其进行了调用:
add_contact()
store_info()
这使变量更新为函数结束时用户输入的内容。然后,我的下一个函数(store_info
)将能够读取输入的变量并将这些更新的变量发送到Google表格文档,从而使它们成为用户输入的内容。 感谢所有贡献者!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。