我正在做一个项目,使用TKinter和Python开发基于用户界面的ATM,用户将输入卡的pin码,通过验证并移动到检查屏幕,工作正常。现在,我需要将消息显示为“无效PIN码1到3”,第三次尝试后,我需要将消息显示为“多次尝试,您的卡被阻止,请联系客户服务。”
def enter_pin():
pinnum=self.txtRecipt.get("1.0","end-1c")
if ((pinnum == str("0000")) or (pinnum == str("9874")) or (pinnum == str("5689") )):
self.textRep.delete("1.0",END)
self.textRep.insert(END, 'Welcome to MY ATM' + "\n\n")
self.textRecipt.insert(END, 'Withdraw Cash\n")
self.textRecipt.insert(END, 'Print Receipt\n")
self.textRecipt.insert(END, 'Balance\n")
self.textRecipt.insert(END, 'Change Pin\n")
else:
self.txtRecipt.delete("1.0", END)
self.txtRecipt.insert(END, 'Invalid Pin Number'+ "\n\n")
现在,如何在上面的代码中添加下面的函数,以便它将显示在我的ATM UI的文本框中
def pin_num():
attempt= 0
while attempt < 3:
num = input('Please Enter Your 4 Digit Pin: ')
if enter_pin(pinnum):
print("Pin accepted!")
else:
print("Invalid pin")
attempt += 1
print("Multiple attempts, Your card is blocked, please contact customer service")
首先,每次要显示消息时,都要更改
Text
小部件的文本。在接收输入的同一位置显示输出不是一个非常正确的想法我建议使用
Label
来显示消息,或者也可以使用messagebox
来显示应用程序中的消息框但是,使用当前代码,您可以做的是为
attempts
创建一个全局变量,并根据您的逻辑编辑函数enter_pin
:相关问题 更多 >
编程相关推荐