4. Розробіть проект у середовищі програмування з використанням елементів керування, у якому знаходять: а) суму послідовних чисел від 0 до числа, обраного на шкалі (роз- міри шкали за замовчуванням); б) добуток парних чисел від 2 до числа, обраного на шкалі (макси- мальне значення на шкалi - 10); в) суму чисел, які кратні 5, від 1 до числа, обраного на шкалі (роз- міри шкали за замовчуванням); г) кількість чисел, які діляться на 3 від введеного в текстове поле числа до числа, обраного на шкалі (розміри шкали за замовчуван- ням). Якщо обране на шкалі число менше від введеного початково- го значення, то отримати повідомлення про помилку.
Допоможіть зробити вправу. Даю 50 балів
![](https://st.uroker.com/files/0fb/0fb24f4fde458e275bf7cfc203b7b592.jpg)
Ответы
Відповідь:
from tkinter import *
from tkinter import messagebox
root = Tk()
root.title("Calculator project")
root.geometry("400x500")
def calculate_sum():
n = int(scale1.get())
if n < int(entry1.get()):
messagebox.showerror("Помилка", "Вибране число на шкалі менше, ніж введене початкове значення.")
return
sum = 0
for i in range(n+1):
sum += i
result1.configure(text="Сума: " + str(sum))
def calculate_product():
n = int(scale2.get())
if n > 10:
messagebox.showerror("Помилка", "Вибране число на шкалі більше 10.")
return
product = 1
for i in range(2, n+1, 2):
product *= i
result2.configure(text="Сума: " + str(product))
def calculate_multiples():
n = int(scale3.get())
sum = 0
for i in range(1, n+1):
if i % 5 == 0:
sum += i
result3.configure(text="Сума, кратна 5: " + str(sum))
def calculate_divisible():
start = int(entry2.get())
n = int(scale4.get())
if n < start:
messagebox.showerror("Помилка", "Вибране число на шкалі менше, ніж введене початкове значення.")
return
count = 0
for i in range(start, n+1):
if i % 3 == 0:
count += 1
result4.configure(text="Число, що ділиться на 3: " + str(count))
# UI Elements
label1 = Label(root, text="Сума чисел від 0 до:")
label1.pack()
scale1 = Scale(root, from_=0, to=100, orient=HORIZONTAL)
scale1.pack()
button1 = Button(root, text="Обчислити", command=calculate_sum)
button1.pack()
entry1 = Entry(root)
entry1.pack()
result1 = Label(root, text="Сума: ")
result1.pack()
label2 = Label(root, text="Добуток парних чисел від 2 до:")
label2.pack()
scale2 = Scale(root, from_=2, to=10, orient=HORIZONTAL)
scale2.pack()
button2 = Button(root, text="Обчислити", command=calculate_product)
button2.pack()
result2 = Label(root, text="Сума: ")
result2.pack()
label3 = Label(root, text="Сума кратних 5 чисел від 1 до:")
label3.pack()
scale3 = Scale(root, from_=0, to=100, orient=HORIZONTAL)
scale3.pack()
button3 = Button(root, text="Обчислити", command=calculate_multiples)
button3.pack()
result3 = Label(root, text="Сума кратна 5: ")
result3.pack()
label4 = Label(root, text="Кількість цілих чисел, кратних 3, починаючи з:")
label4.pack()
entry2 = Entry(root)
entry2.pack()
scale4 = Scale(root, from_=0, to=100, orient=HORIZONTAL)
scale4.pack()
button4 = Button(root, text="Обчислити", command=calculate_divisible)
button4.pack()
result4 = Label(root, text="Число, що ділиться на 3: ")
result4.pack()
root.mainloop()