Article 4XE18 Python works different in sections try ........ except ........

Python works different in sections try ........ except ........

by
droid.c3p0
from LinuxQuestions.org on (#4XE18)
About following Python code:
Code:import tkinter as tk
from tkinter import *

class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.firstNumber = DoubleVar()
self.secondNumber = DoubleVar()
self.resultNumber = StringVar()
self.resultNumber.set("Result...")
self.pack()

def create_widgets(self):
# create widgets
self.firstNumberEntry = tk.Entry(textvariable=self.firstNumber)
self.plusSign = tk.Label(text="+")
self.secondNumberEntry = tk.Entry(textvariable=self.secondNumber)
self.equalSign = tk.Label(text="=")
self.resultLabel = tk.Label(bg="gray", fg="white", textvariable=self.resultNumber, width=14)
self.calculateButton = tk.Button(text="Calculate", command=self.calculate)

# place widgets
self.firstNumberEntry.pack(side="left")
self.plusSign.pack(side="left")
self.secondNumberEntry.pack(side="left")
self.equalSign.pack(side="left")
self.resultLabel.pack(side="left")
self.calculateButton.pack(side="left")

def calculate(self):
try:
first_value = float(self.firstNumber.get())
second_value = float(self.secondNumber.get())
result = first_value + second_value
self.resultNumber.set(str(result))
self.resultLabel.configure(bg = "green")
self.resultLabel.textvariable = self.resultNumber
except ValueError:
self.resultNumber.set("Not number/s.")
self.resultLabel.configure(background = "red")
self.resultLabel.textvariable = self.resultNumber

# create the application
app = Application()
app.master.title("Sumator")
app.master.minsize(width=480, height=64)
app.create_widgets()

# start the program
app.mainloop()My question is for piece of code:
Code: def calculate(self):
try:
first_value = float(self.firstNumber.get())
second_value = float(self.secondNumber.get())
result = first_value + second_value
self.resultNumber.set(str(result))
self.resultLabel.configure(bg = "green")
self.resultLabel.textvariable = self.resultNumber
except ValueError:
self.resultNumber.set("Not number/s.")
self.resultLabel.configure(background = "red")
self.resultLabel.textvariable = self.resultNumberIt works fine when I input 2 Nmbers - The sum of both shows on green background.
It does not work fine when I input 1 Letter and 1 Nmber - I expect to see on red background message "Not number/s.", but the Label continue to show last result on green background and there is not appear above message "Not number/s."
How to improve the Python code, so to work fine in case -
Code:try:
""..and to work fine in case -
Code:except ValueError:
""..?latest?d=yIl2AUoC8zA latest?i=QbU82zXWuh0:DxAnH637rSM:F7zBnMy latest?i=QbU82zXWuh0:DxAnH637rSM:V_sGLiP latest?d=qj6IDK7rITs latest?i=QbU82zXWuh0:DxAnH637rSM:gIN9vFwQbU82zXWuh0
External Content
Source RSS or Atom Feed
Feed Location https://feeds.feedburner.com/linuxquestions/latest
Feed Title LinuxQuestions.org
Feed Link https://www.linuxquestions.org/questions/
Reply 0 comments