извините за странный код ... это результат 7 часов попыток заставить вещи работать.
Я хочу записать количество, имя, цену и НДС, включая цену, в текстовом файле через python & tkinter.
До сих пор я могу успешно получить записанное количество, имя, цену к тексту, однако, я не могу понять, как взять цену, рассчитать ее и написать ответ на текст.
Я пытался обойти проблему int vs str несколькими способами, включая вычисление цены и использование .insert () для отправки ответа в Ent5 (поле ввода) и получения ответа с помощью .get () для записи это к тексту, но я получаю код ошибки. ->
"Ошибка типа: невозможно умножить последовательность на не-int типа 'float'"
Я использую .pack () для ускорения тестирования перед переходом к сетке и Я знаю, что сетка лучше.
Вот небольшой фрагмент кода:
import tkinter as tk
from tkinter import *
import math
top = tk.Tk()
top.title('Name')
top.geometry('500x450')
v = IntVar()
Ent1 = tk.Entry(top, textvariable=v, show=None, font=('Arial', 16))
Ent2 = tk.Entry(top, show=None, font=('Arial', 16))
Ent3 = tk.Entry(top, textvariable=vT, show=None, font=('Arial', 16))
Ent5 = tk.Entry(top, show=None, font=('Arial', 16)) ###PLACEHOLDER
lbl1 = tk.Label(top, text='Quantity')
lbl2 = tk.Label(top, text='Product')
lbl3 = tk.Label(top, text='Price')
lbl1.pack()
Ent1.pack()
lbl2.pack()
Ent2.pack()
lbl3.pack()
Ent3.pack()
Ent5.pack() ###PLACEHOLDER
int_answers = int(Ent3.get())
def com2():
km = int_answers*1.15
Ent5.insert(0, '1.15') ### PLACEHOLDER
def com1():
com2()
file1 = open('eca.txt', 'a')
L = [Ent1.get(), ' | ' , Ent2.get(), ' | ' , Ent3.get(), km,'\n']
file1.writelines(L)
file1.close()
Btn1 = tk.Button(top, command=com1, text='Ok').pack(side=BOTTOM)
top.mainloop()
Заранее благодарен за любую помощь