Створює вікно з заголовком «Exam», розмірами вікна – 400х400, колір
вікна – жовто-гарячий, встановити максимальний та мінімальний
розмір вікна (розміри вибрати на свій розсуд)
2. Створює напис, початковий напис – «Введіть числа для підрахунку»,
текст – Times New Roman 13, розташування – 50 пікселів від лівого
краю, 50 пікселів від верхнього краю
3. Створює два текстових поля : текст – Times New Roman 13,
розташування – 50 пікселів від лівого краю, на 50 пікселів нижче від
напису і відстань між написами – 30 пікселів.
4. Створює два перемикача – текст - «+» та «-». Знаходяться вони нижче
полів на 30 пікселів та відстань між перемикачами – 30 пікселів
5. Створює кнопку «Порахувати», при натисканні якої програма рахує
суму або різницю двох чисел, що були введені у текстові поля у
залежності від вибраного перемикача та виводить відповідь у напис
вище, замінюючи текст на відповідь.
Ответы
Якщо не потрібно використовувати графічний інтерфейс, адже завдання полягає лише у створенні вікна з деякими елементами, можна використати модуль easygui для створення вікна з текстовими полями, перемикачами та кнопкою.
import easygui
# виведення діалогового вікна для введення двох чисел
msg = "Введіть числа для підрахунку"
title = "Exam"
fieldNames = ["Число 1", "Число 2"]
fieldValues = easygui.multenterbox(msg, title, fieldNames)
while True:
# перевірка коректності введених даних
if fieldValues == None:
break
errorMsg = ""
for i in range(len(fieldNames)):
if fieldValues[i].strip() == "":
errorMsg += "{} не може бути порожнім\n".format(fieldNames[i])
else:
try:
fieldValues[i] = float(fieldValues[i])
except ValueError:
errorMsg += "{} має бути числом\n".format(fieldNames[i])
if errorMsg == "":
break
fieldValues = easygui.multenterbox(errorMsg, title, fieldNames, fieldValues)
if fieldValues != None:
# виведення діалогового вікна для вибору дії (+ або -)
msg = "Виберіть дію"
choices = ["+", "-"]
choice = easygui.buttonbox(msg, title, choices)
if choice != None:
# обчислення результату
if choice == "+":
result = fieldValues[0] + fieldValues[1]
else:
result = fieldValues[0] - fieldValues[1]
# виведення результату у діалоговому вікні
msg = "Результат: {}".format(result)
easygui.msgbox(msg, title)