Створіть нове вікно dinter, та багаторядкове текстове поле. Розміри вікна та атрибути текстового поля вказати самостійно. В текстове поле користувач буде вводити список дійсних чисел, а виводитися буде той самий список (у вигляді таблиці), тільки замість всіх значень, що більші за 0 і мені за 10 буде виводитися 1.
Ответы
Відповідь:Нижче наведений приклад коду на мові Python, який створює нове вікно "dinter" з багаторядковим текстовим полем. Код також виконує операцію перевірки списку чисел та замінює значення, які більше за 0 і менше за 10, на 1. Для відображення таблиці в текстовому полі використовується бібліотека tkinter.
import tkinter as tk
def replace_values():
input_values = input_text.get("1.0", "end-1c") # отримати введені користувачем значення з текстового поля
output_values = ""
for value in input_values.split("\n"):
try:
float_value = float(value)
if 0 < float_value < 10:
output_values += "1\n"
else:
output_values += str(float_value) + "\n"
except ValueError:
output_values += value + "\n"
output_text.delete("1.0", tk.END) # очистити вміст текстового поля виводу
output_text.insert(tk.END, output_values) # вивести змінений список чисел
# Створення вікна
window = tk.Tk()
window.title("dinter")
window.geometry("400x300")
# Створення текстового поля вводу
input_text = tk.Text(window, height=10, width=50)
input_text.pack()
# Створення кнопки "Замінити значення"
replace_button = tk.Button(window, text="Замінити значення", command=replace_values)
replace_button.pack()
# Створення текстового поля виводу
output_text = tk.Text(window, height=10, width=50)
output_text.pack()
# Запуск головного циклу програми
window.mainloop()
Пояснення:
Після запуску програми, відкриється вікно "dinter" з багаторядковим текстовим полем вводу та кнопкою "Замінити значення". Користувач може ввести список дійсних чисел в це поле. Після того, як користувач натисне на кнопку "Замінити значення", програма замінить значення, які більше за 0 і менше за 10, на 1 та виведе змінений список чисел у вигляді таблиці в багаторядковому текстовому полі виводу.