Итак, я новичок в мире программирования, я изучил основы python и перехожу к попытке использовать python и sqlite для создания небольшой программы.
I прочитал документацию по SQLite, и я понимаю, как вставлять и вызывать данные, но для того, чтобы делать это несколько раз, похоже, что для выполнения sh используется функция, это логический ответ, и именно здесь я наткнулся на препятствие.
До сих пор это то, что я придумал, основываясь на моей собственной интуиции, пытаясь перевести код в функцию:
i_date = input('Input Date as YYYY-MM-DD > ')
i_trans = input('Select Buy or Sell >')
i_symbol = input('Input Stock Ticker > ')
i_qty = input('Input Qty to be Purchased > ')
i_price = input('Input Buy/Sell Price > ')
update_tbl = ('i_date' + 'i_trans' + 'i_symbol' + 'i_qty' + 'i_price')
def update_table(date, trans, symbol, qty, price):
c.executemany('INSERT INTO stocks VALUES (?,?,?,?,?)', update_tbl)
update_table(update_tbl)
Результат таков, что он определенно проходит дату функции, но только самый первый элемент. Он генерирует следующую ошибку:
Traceback (most recent call last):
File "SQL.py", line 25, in <module>
update_table(update_tbl)
TypeError: update_table() missing 4 required positional arguments: 'trans', 'symbol', 'qty',
and 'price'
Я не уверен, связана ли ошибка с тем, как я добавляю все переменные вместе как одну переменную в update_tbl, или если ошибка связана с тем, как я ее передаю перейдем к функции. Первоначально я пробовал разделять каждую переменную только запятыми, и результат был тот же.
Может ли кто-нибудь указать мне в правильном направлении?
РЕДАКТИРОВАТЬ: Пока что это единственное, что мне удалось успешно передать параметры функции:
i_date = input('Input Date as YYYY-MM-DD > ')
i_trans = input('Select Buy or Sell > ')
i_symbol = input('Input Stock Ticker > ')
i_qty = input('Input Qty to be Purchased > ')
i_price = input('Input Buy/Sell Price > ')
update_tbl = [i_date, i_trans, i_symbol, i_qty, i_price]
def update_table(date, trans, symbol, qty, price):
c.execute('INSERT INTO stocks VALUES (?,?,?,?,?)', update_tbl)
update_table(i_date, i_trans, i_symbol, i_qty, i_price)