从用户输入更新变量

问题描述

我正在尝试制作一个程序,让用户输入联系人信息,该信息然后存储在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表格文档,从而使它们成为用户输入的内容。 感谢所有贡献者!

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...