Sep-16-2020, 03:16 AM
Hi
I tried to set a password with widget Entry,
The right password is "tarek"
Only 3 attempts are allowed
the goal is :
when i enter a wrong password this text will appear in comment area :
*before the 1er attempt no text will appear
*after the 1st wrong password entry : "Try again, remaining attempts :2"
*after the 2st wrong password entry : "Try again, remaining attempts :1"
*after the 3st wrong password entry : "Acces denied, out of try" and the program will exit
when i enter the correct password, this text will appear in comment area : "Congratulation, acces autorized" and an other file that i alled "program2.py" will automatically executed.
The issues with my code are :
-this message appears even after the 2nd or the 3rd wrong password entry : "Try again, remaining attempts :2"
-I dont know how to insert a command to exit after the 3rd wrong attempt
-I dont know how to insert a command to execute the other program "program2.py" when i enter the right password
I wonder if i have to use the "WHILE function" instead of the "if function" or to use an other widget or kind of event?
Please can you help me to correct my code .
(Sorry I couldnt use python tags )
My code is the following :
___________________________________________________
I tried to set a password with widget Entry,
The right password is "tarek"
Only 3 attempts are allowed
the goal is :
when i enter a wrong password this text will appear in comment area :
*before the 1er attempt no text will appear
*after the 1st wrong password entry : "Try again, remaining attempts :2"
*after the 2st wrong password entry : "Try again, remaining attempts :1"
*after the 3st wrong password entry : "Acces denied, out of try" and the program will exit
when i enter the correct password, this text will appear in comment area : "Congratulation, acces autorized" and an other file that i alled "program2.py" will automatically executed.
The issues with my code are :
-this message appears even after the 2nd or the 3rd wrong password entry : "Try again, remaining attempts :2"
-I dont know how to insert a command to exit after the 3rd wrong attempt
-I dont know how to insert a command to execute the other program "program2.py" when i enter the right password
I wonder if i have to use the "WHILE function" instead of the "if function" or to use an other widget or kind of event?
Please can you help me to correct my code .
(Sorry I couldnt use python tags )
My code is the following :
___________________________________________________
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# -*- coding: utf-8 -*- from tkinter import ttk, Entry #import tkinter as tk from tkinter import * from tkinter import filedialog import os from PIL import Image, ImageTk import sqlite3 import getpass Profile = { 1 :""} def authorization(event) : rightpassword = "tarek" word = entrypassword.get() nb_attempt = 1 attempt_limit = 3 attempt_authorized = True if word ! = rightpassword : nb_attempt = nb_attempt + 1 if nb_attempt < = attempt_limit: attempt_authorized = True comments = ( "Try again, remaining attempts : " + str (attempt_limit + 1 - nb_attempt)) entrycomment.delete( 0 , END) entrycomment.insert( 0 , comments) print (entrycomment.get()) else : attempt_authorized = False comments = ( "Access denied, out of try" ) entrycomment.delete( 0 , END) entrycomment.insert( 0 , comments) print (entrycomment.get()) exit else : comments = "Congratulation Access authorized" entrycomment.delete( 0 , END) entrycomment.insert( 0 , comments) print (entrycomment.get()) open ( "D:/program2.py" ) root = Tk() root.title( "Access Application" ) root.geometry( "1400x480" ) #root.configure(bg = "#eaeaea") # Add Title1 lblTitle1 = Label(root , text = "Gestion des accès" , font = ( "Arial" , 21 ) , bg = "darkblue" , fg = "white" ) lblTitle1.place(x = 50 , y = 0 , width = 300 ) # password area lbpassword = Label(root , text = "Password :" , font = ( "Arial" , 21 ), bg = "darkblue" , fg = "white" ) lbpassword.place(x = 450 , y = 200 , width = 300 ) entrypassword = Entry(root, font = ( "Arial" , 21 )) entrypassword.bind( "<Return>" , authorization) entrypassword.place(x = 780 , y = 200 , width = 300 ) lbcomment = Label(root , text = "Comment :" ,font = ( "Arial" , 21 ), bg = "black" , fg = "white" ) lbcomment.place(x = 180 , y = 250 , width = 250 ) entrycomment = Entry(root , font = ( "Arial" , 21 ), bg = "white" , fg = "red" ) entrycomment.place(x = 450 , y = 250 , width = 800 ) root.mainloop() |