Спадний список

Цикли мовою програмування Python

Які команди використовують для опису циклів мовою програмування Python?

Ми вже складали найпростіші програми для реалізації алгоритмів з розгалуженням мовою програмування Python. Для цього використовували такі команди

Практичне завдання 1. Розгалуження і спадний список (ще один елемент вікна з графічним інтерфейсом)

Привітай друга (подругу) зі святом!. 

Протестуй програму і поділиться з викладачем посиланням.

Коли свято не обрали

Коли немає кого вітати. Немає ім'я

from tkinter import*  #Підключили модуль tkinter графічний інтерфейс)

from tkinter.ttk import* #Підключили розширення графічного інтерфейсу

import tkinter.messagebox as mbox #Розширення messagebox використаємо у скороченому вигляді 

def btnClick():

    if edit.get()=="":

      mbox.showerror(title="Помилка",message="Немає імені")

    else:

      if sel.current()>0:

        mess=edit.get()+","+sel.get()+"!"

        mbox.showinfo(title="Вітання",message=mess)

      else:

        mbox.showerror(title="Помилка",message="Свято не обране") 

root=Tk() #створили вікно класу Tk

root.geometry("360x200") #налаштували (конфігурували) розміри вікна

root.title("вітання зі святом") #налаштували (конфігурували) назву вікна

txt=Label(root,text="Введіть своє ім'я:") #створили віджет Напис у вікні - клас  Label

edit=Entry(root) #створили віджет Поле введення у вікні - клас  Entry

edit.insert(0,"Ім'я") #відтворити (повернути) текст з Поля введення на вікно

sel=Combobox(root,value=["Оберіть свято","з Різдвом",

            "з Великоднем","з останнім дзвоником",

            "з першим дзвоником"])#створили віджет Спадний список  у вікні - клас Combobox                  

sel.current(0) #вставити поточне значення

btn=Button(root,text="Привітання",

           command=btnClick) #створили віджет Кнопка у вікні - клас  Button

txt.place(x=20,y=50) #розмістили (розпакували) віджет Напис у вікні

edit.place(x=150,y=50) #розмістили (розпакували) віджет Поле введення у вікні 

sel.place(x=75,y=100,width=200) #розмістили (розпакували) віджет Спадний список у вікні 

btn.place(x=75,y=150,width=200) #розмістили (розпакували) віджет Кнопка у вікні 

root.mainloop()

Практичне завдання 2. Реалізація команд циклу (цикл з лічильником) у  вікні з графічним інтерфейсом.

Створити програму, яку будує діаграму успішності 5 студентів. Система оцінювання, яких від 1 до 100

Протестуй програму і поділиться з викладачем посиланням.

from tkinter import*#Підключили модуль tkinter графічний інтерфейс)

def zadaha():

   img.delete("all")

   x1=10

   x2=30

   ocinka=[] #Створили список

   ocinka.append(o1.get()) #Послідовно заносимо дані до списку 

   ocinka.append(o2.get())

   ocinka.append(o3.get())

   ocinka.append(o4.get())

   ocinka.append(o5.get())

   for i in range (5): #Запускаємо цикл з лічильником

      img.create_rectangle(x1,240-int(ocinka[i])*2,x2,240,fill="red")

      x1=x1+50 #Кожного з  разу  координати збільшуються на 50 рх

      x2=x2+50

root=Tk() #створили вікно класу Tk

root.title ("Успішність") #налаштували (конфігурували) назву вікна

root.geometry("600x500") #налаштували (конфігурували) розміри вікна

root.config(bg="#2F4F4F") #налаштували (конфігурували) колір вікна

t=Label(root,text="Графік успішності учнів",font=("arial",24,"bold"),

        fg="white",

        bg="#2F4F4F") #створили віджет Напис у вікні - клас  Label і налаштували (конфігурували його)

t.place(x=150,y=20) #розмістили (розпакували) віджет Напис у вікні 

st1=Label(root,text="Студент_1",font=("arial",16),

        fg="white",

        bg="#2F4F4F") #створили віджет Напис у вікні *5

st1.place(x=10,y=60) #розмістили (розпакували) віджет Напис у вікні*5

o1=Entry(root,font=("arial 16")) #створили віджет Поле введення у вікні *5

o1.place(x=150,y=60,width=100) #розмістили (розпакували) віджет Поле введення у вікні *5 , у+40

st2=Label(root,text="Студент_2",font=("arial",16),

        fg="white",

        bg="#2F4F4F")

st2.place(x=10,y=100)

o2=Entry(root,font=("arial 16"))

o2.place(x=150,y=100,width=100)

st3=Label(root,text="Студент_3",font=("arial",16),

        fg="white",

        bg="#2F4F4F")

st3.place(x=10,y=140)

o3=Entry(root,font=("arial 16"))

o3.place(x=150,y=140,width=100)

st4=Label(root,text="Студент_4",font=("arial",16),

        fg="white",

        bg="#2F4F4F")

st4.place(x=10,y=180)

o4=Entry(root,font=("arial 16"))

o4.place(x=150,y=180,width=100)

st5=Label(root,text="Студент_5",font=("arial",16),

        fg="white",

        bg="#2F4F4F")

st5.place(x=10,y=220)

o5=Entry(root,font=("arial 16"))

o5.place(x=150,y=220,width=100)

img=Canvas(root,width="250",height="250") #створили вікно Малювання у вікні - клас Canvas і налаштували її

img.place(x=270,y=60) #розмістили (розпакували) вікно Малювання у вікні

kn=Button(text="Виконати розрахунки", 

          font=("arial",18),

          fg="#FFA500",

          bg="#800000",

          command=zadaha) #створили віджет Кнопка у вікні - клас  Button і налаштували її

kn.place(x=270,y=320,width=250) #розмістили (розпакували) віджет Кнопка у вікні 

root.mainloop()

Завдання уроку 

Вправа 1. Кількість слів у реченні. (стор.176)

Завдання. Розробіть у середовищі програмування проєкт, за допомогою якого можна визначити, скільки слів уведено в текстове поле,якщо відомо, що між словами міститься лише один пропуск.

1. Відкрийте середовище програмування https://replit.com 

2. Імпортуйте об’єкти, які потрібні для опису графічного інтерфейсу програми (мал. 18.2).

from tkinter import*

from tkinter import messagebox

5. Запишіть у програмному коді команди для створення вікна window , об’єктів у вікні window та отримання значень змінних.

window=Tk()

window.title ("Кількість слів")

window.geometry("400x300")

t=Label(window,text="Введіть речення")

t.pack()

ed=Entry(window,textvariable=str_var)

ed.pack()

kn=Button(text="Визначити",

          font=("arial",16),

          command=button_click)

kn.pack()

window.mainloop()

3. Оголосіть імена величин.

window=Tk()

str_var = StringVar()#текст,який вводять у текстове поле

4. Запишіть програмний код опрацювання події натиснення на кнопку Визначити.

def button_click():  

    s = 0

    z =' '

    st = str_var.get()

    k = len(st)

    for i in range(0, k):

        if z == st[i]:

             s = s + 1

    t.config(text="Кількість слів визначена")

    messagebox.showinfo("Результат","Кількість слів="+str(s+1))

6. Запишіть команду запуску подій на формі

window.mainloop()

7. Запустіть проєкт на виконання. Перевірте, чи результат для введеного речення відповідає малюнку 18.2.

8. Завершіть роботу з проєктом і середовищем. Прозвітуйте посиланням на проєкт