Je suppose que cette question a déjà été postée plusieurs fois, mais je commence en python 3 et je ne comprends pas comment corriger cette erreur, j'ai essayé mais. .. s'il vous plaît quelqu'un pourrait-il m'aider? Je dois faire un système de distribution de café, le but ici est: donner une pièce qui doit nécessairement être 5, 10 ou 25, le client a 4 tests s'il donne une mauvaise pièce, le total doit atteindre CHF 55, donc il doit saisir jusqu'à obtenir CHF 55.python pour fixer l'objet 'NoneType' n'a pas d'attribut 'delete'
import os
import datetime
import time
from tkinter import *
from tkinter.filedialog import *
class Welcome():
def __init__(self,master):
self.master = master
self.master.title('coffee distributor')
self.master.geometry('700x400+0+0')
self.title = Label(self.master, font=('arial', 35, 'bold'),text='[coffee distributor]',relief='solid', bg='powder blue' , fg='darkslategray', padx=20, pady=20).place(x=10, y=10)
self.menu1 = Button(self.master, font=('Helvetica',16,'bold') , text='[order coffee]' , padx=30 , relief='sunken',bg='darkslategray' ,fg='white', command=self.gotocmd).place(x=150,y = 140)
def gotocmd(self):
root = Toplevel(self.master)
myGui1 = OrderCoffee(root)
class OrderCoffee():
def __init__(self ,master):
self.coin = IntVar()
self.c_25 = self.c_10 = self.c_5 = self.error = 0
self.total = 0
self.master = master
self.master.title('coffee distributor')
self.master.geometry('900x400+0+0')
self.frame1 = Frame(self.master, relief=RAISED, borderwidth=1, bg='darkslategray').pack(fill=BOTH, expand=True)
self.info = Label(self.master, font=('arial', 15, 'bold'), text="[To order a coffee, please enter a coin \n The price of one cup of coffee is set at CHF 55 \n We accept that the following coins: [10, 25, 50]", padx=20, pady=20,relief='sunken', bg='darkslategray' ,fg='white').place(x=170 , y=10)
self.info2 =Label(self.master, text="[dashboard ]", padx=10 , pady=10, relief='sunken', bg='darkslategray' ,fg='white').place(x=10 , y=120)
self.rapport = Text(self.master , width=50 , height=10 , bg='powder blue', fg='darkslategray').place(x=10 , y=160)
self.lb_piece = Label(self.master , text="[enter a coin ]", font=('arial', 15, 'bold'), padx=10, pady=10,relief='sunken', bg='darkslategray' ,fg='white').place(x=500 , y=160)
self.input_piece = Entry(self.master, textvariable=self.coin, justify='right', font=('arial', 15, 'bold'), bd=5 ,relief='sunken', bg='powder blue' ,fg='white').place(x=500, y=220)
self.cmd = Button(self.master , text="order", font=('arial', 15, 'bold'), bd=4 ,relief='sunken', bg='darkslategray' ,fg='white' , command=self.verification).place(x=500, y=270)
self.ncmd = Button(self.master, text="back", font=('arial', 15, 'bold'), bd=4,relief='sunken', bg='darkslategray' ,fg='white').place(x=650, y=270)
#methode pour afficher resultat
def result(self):
self.rapport.delete()
self.rapport.insert(END, '5 coin :\t\t' + str(self.c_5) + '\n')
self.rapport.insert(END, '10 coin:\t\t' + str(self.c_10) + '\n')
self.rapport.insert(END, '25 coin :\t\t' + str(self.c_25) + '\n')
self.rapport.insert(END, 'error :\t\t' + str(self.error) + '\n')
self.rapport.insert(END, 'TOTAL \t\t' + str(self.total) + '\n')
#méthode qui réçoit une pièce pour compter
def add_coin(self):
coin = int(self.coin.get())
if self.coin == 5:
self.c_5 +=1
self.total += 5
elif self.coin == 10:
self.c_10 +=1
self.total += 10
elif self.coin == 25:
self.c_25 += 1
self.total += 25
else:
self.error +=1
def verification(self):
if self.total >= 55:
self.result()
print('done')
else:
self.add_coin()
self.result()
print('add again')
def main():
root = Tk()
First = Welcome(root)
root['bg'] ='darkslategray'
root.mainloop()
if __name__ == '__main__':
main()
Je ne comprends pas comment résoudre cette erreur:
"C:\Users\dell computer\AppData\Local\Programs\Python\Python36\python.exe" "C:/Users/dell computer/PycharmProjects/projet/test.py"
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\dell computer\AppData\Local\Programs\Python\Python36\lib\tkinter\__init__.py", line 1699, in __call__
return self.func(*args)
File "C:/Users/dell computer/PycharmProjects/projet/test.py", line 73, in verification
self.result()
File "C:/Users/dell computer/PycharmProjects/projet/test.py", line 45, in result
self.rapport.delete()
AttributeError: 'NoneType' object has no attribute 'delete'
Nous vous remercions à l'avance