从用户输入更新变量
Updating Variable from User Input
我正在尝试制作一个程序,让用户输入联系信息,然后存储在 Google Sheets 文档中。用户通过短语输入他们的输入:
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 等)
我想知道在我到达这一步之前是否有任何方法可以将变量从 ''
更新为输入变量(phone 数字),而不停止代码。
我曾尝试在用户输入后将变量设置为自身(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,那么首先获取行列表中的详细信息并追加行[3] = contact_phone。
我找到了答案。我首先在我的输入函数中定义全局变量:global contact_phone
(如用户建议:martineau)。
但这并没有解决我所有的问题。我有一个包含所有步骤的函数,包括输入函数和我的函数 sends/saves Google Sheet 文档的信息。我意识到变量在函数完成之前不会更新,所以我从主函数中删除了 Google Sheets 函数(读取输入的变量)并在调用我的函数后自行调用它主要功能:
add_contact()
store_info()
这可以让变量更新为用户在函数结束时输入的内容。然后我的下一个函数 (store_info
) 将能够读取输入的变量并将这些更新的变量发送到 Google Sheet 文档,允许它们是用户输入的任何内容。 感谢所有贡献的人!
我正在尝试制作一个程序,让用户输入联系信息,然后存储在 Google Sheets 文档中。用户通过短语输入他们的输入:
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 等)
我想知道在我到达这一步之前是否有任何方法可以将变量从 ''
更新为输入变量(phone 数字),而不停止代码。
我曾尝试在用户输入后将变量设置为自身(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,那么首先获取行列表中的详细信息并追加行[3] = contact_phone。
我找到了答案。我首先在我的输入函数中定义全局变量:global contact_phone
(如用户建议:martineau)。
但这并没有解决我所有的问题。我有一个包含所有步骤的函数,包括输入函数和我的函数 sends/saves Google Sheet 文档的信息。我意识到变量在函数完成之前不会更新,所以我从主函数中删除了 Google Sheets 函数(读取输入的变量)并在调用我的函数后自行调用它主要功能:
add_contact()
store_info()
这可以让变量更新为用户在函数结束时输入的内容。然后我的下一个函数 (store_info
) 将能够读取输入的变量并将这些更新的变量发送到 Google Sheet 文档,允许它们是用户输入的任何内容。 感谢所有贡献的人!