{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"authorship_tag":"ABX9TyPN4MBTFrf6e8MoXdgSkotq"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"markdown","source":["# Введення даних та цикли while"],"metadata":{"id":"aC2ecH2v0SAW"}},{"cell_type":"markdown","source":["## Як працює функція input()\n","Функція _input()_ призупиняє виконання програми і чекає, доки користувач введе певний текст. Отримавши введення Python зберігає його в змінній, щоб вам було зручніше працювати з ним. Наприклад, наступна програма пропонує користувачеві ввести текст, а потім виводить повідомлення для користувача:"],"metadata":{"id":"JfJvpXbs0W2N"}},{"cell_type":"code","source":["message = input(\"Tell me something, and I will repeat it back to you: \")\n","print(message)"],"metadata":{"id":"nnjQh-sL0Seo","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697537662714,"user_tz":-180,"elapsed":70058,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"d978e0d7-eab3-4c34-e187-779709411ec0"},"execution_count":1,"outputs":[{"output_type":"stream","name":"stdout","text":["Tell me something, and I will repeat it back to you: hello!\n","hello!\n"]}]},{"cell_type":"code","source":["message = input(\"Tell me your name, please... \")\n","print(message)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"_FdFebRSIZsV","executionInfo":{"status":"ok","timestamp":1697537724451,"user_tz":-180,"elapsed":8090,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"a4d5670b-7741-4d86-cf5f-551a9cf9ad56"},"execution_count":2,"outputs":[{"output_type":"stream","name":"stdout","text":["Tell me your name, please... Ivan\n","Ivan\n"]}]},{"cell_type":"markdown","source":["Щоразу, коли у вашій програмі використовується функція _input()_, ви повинні включати чітку, зрозумілу підказку, яка точно повідомить користувача, яку інформацію ви хочете отримати від нього. Підійде будь-яка пропозиція, яка повідомляє користувачеві, що потрібно вводити."],"metadata":{"id":"VJGBfdd-1RbJ"}},{"cell_type":"markdown","source":["Іноді підказка займає більше одного рядка. Наприклад, ви можете повідомити користувача, навіщо програма запитує дані. Текст підказки можна зберегти в змінній та передати цю змінну функції input(): ви будуєте довге запрошення з декількох рядків, а потім виконуєте одну компактну команду _input()_"],"metadata":{"id":"SStIVJ7e1W1f"}},{"cell_type":"code","source":["prompt = \"Talk with me us who you are, we can personalize the messages you see.\"\n","prompt += \"\\nWhat is your first name? \"\n","\n","name = input(prompt)\n","print(\"\\nHello, \" + name + \"!\")"],"metadata":{"id":"cLHvCd5c1df6"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["## Використання int() для отримання числового введення"],"metadata":{"id":"1WfcCQei124D"}},{"cell_type":"markdown","source":["При використанні функції input() Python інтерпретує всі дані, введені користувачем, як рядок. У наступному сеансі інтерпретатора програма запитує користувача віку:"],"metadata":{"id":"F1LTEdw012-A"}},{"cell_type":"code","source":["age = int(input(\"How old are you? \")) #3\n","sum = age + 7\n","print(age)\n","print(sum) #10"],"metadata":{"id":"L5LhjAmU2X_3","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697538336952,"user_tz":-180,"elapsed":3096,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"5473d57f-4015-438b-9795-c3a6c88cd6f7"},"execution_count":7,"outputs":[{"output_type":"stream","name":"stdout","text":["How old are you? 3\n","3\n","10\n"]}]},{"cell_type":"markdown","source":["Користувач вводить число 21, але коли ми запитуємо у Python значення age, виводиться '21'— подання введеного числа в рядковому форматі. Лапки, які містять дані, вказують на те, що Python інтерпретує введення як рядок. Але спроба використовувати дані як число призведе до помилки."],"metadata":{"id":"N-ot9diB2OV3"}},{"cell_type":"markdown","source":["Проблему можна вирішити за допомогою функції int(), що інтерпретує рядок як числове значення. Функція _int()_ перетворює рядкове уявлення числа в саме число."],"metadata":{"id":"LKAs6bPC25eP"}},{"cell_type":"code","source":["age = input(\"How old are you? \")\n","How old are you?\n","21\n","age = int(age)\n","age >= 18\n","True"],"metadata":{"id":"epjCBaB92GlY"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["## Оператор обчислення залишку"],"metadata":{"id":"82MuwPnJ29JY"}},{"cell_type":"markdown","source":["При роботі з числовими даними може стати в нагоді оператор обчислення залишку _(%)_, який ділить одне число на інше і повертає залишок:"],"metadata":{"id":"teZP_Mnu3H_8"}},{"cell_type":"code","source":["4 % 3"],"metadata":{"id":"1pZDajsN3IWa","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697538399238,"user_tz":-180,"elapsed":283,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"470b605d-438c-4d52-9ace-5a6409c1cdb4"},"execution_count":8,"outputs":[{"output_type":"execute_result","data":{"text/plain":["1"]},"metadata":{},"execution_count":8}]},{"cell_type":"code","source":["5 % 3"],"metadata":{"id":"6ySSPSQq3Kzm","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697538402894,"user_tz":-180,"elapsed":292,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"269c4ccf-5360-427d-af14-567448d43e0b"},"execution_count":9,"outputs":[{"output_type":"execute_result","data":{"text/plain":["2"]},"metadata":{},"execution_count":9}]},{"cell_type":"code","source":["6 % 3"],"metadata":{"id":"xyxn_9ru3Mr6","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697538404885,"user_tz":-180,"elapsed":264,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"7c81b2c4-0055-47be-e44e-009c8f13c495"},"execution_count":10,"outputs":[{"output_type":"execute_result","data":{"text/plain":["0"]},"metadata":{},"execution_count":10}]},{"cell_type":"code","source":["7 % 3"],"metadata":{"id":"Slz2ViKt3QOO","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697538406236,"user_tz":-180,"elapsed":3,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"dcbcfeeb-1513-4789-d391-b545668c63fd"},"execution_count":11,"outputs":[{"output_type":"execute_result","data":{"text/plain":["1"]},"metadata":{},"execution_count":11}]},{"cell_type":"markdown","source":["Оператор % не повідомляє приватне від цілісного поділу; він повертає лише залишок."],"metadata":{"id":"jeze8z9d3Q7k"}},{"cell_type":"markdown","source":["### Challenge 1\n","Прокат машин: напишіть програму, яка запитує у\n","користувача, яку машину він хотів би взяти напрокат. Виведіть\n","повідомлення з введеними даними (наприклад, “Let me see if I can find you a\n","Subaru”)."],"metadata":{"id":"0lMVQwHQEc5C"}},{"cell_type":"markdown","source":["### Challenge 2\n","Замовлення столу: напишіть програму, яка запитує у\n","користувача, на скільки місць він хоче забронювати стіл у ресторані.\n","Якщо введене число більше 8, виведіть повідомлення про те, що\n","користувачеві доведеться зачекати. Інакше повідомте, що\n","стіл готовий."],"metadata":{"id":"DoyMH7H9EdN2"}},{"cell_type":"markdown","source":["### Challenge 3\n","Числа, кратні 10: запитайте у користувача число і повідомите, кратно воно 10 чи ні."],"metadata":{"id":"9c3AhUNSEdde"}},{"cell_type":"markdown","source":["## Цикли while"],"metadata":{"id":"TAc13vLW3ZxK"}},{"cell_type":"markdown","source":["Цикл _for_ отримує колекцію елементів та виконує блок коду по одному разу для кожного елемента в колекції. На відміну від нього, цикл _while_ продовжує виконуватися, доки залишається істинною деяка умова."],"metadata":{"id":"LAyLCBxM4yt1"}},{"cell_type":"markdown","source":["### Цикл while у дії"],"metadata":{"id":"ZGsKtcLG45ep"}},{"cell_type":"code","source":["current_number = 1 # = 3\n","while current_number <= 5:\n"," print(current_number)# 2\n"," current_number += 1 #3"],"metadata":{"id":"4fwqNtLc45_m","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697538685881,"user_tz":-180,"elapsed":269,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"8d03917f-8713-42ff-fc5b-14a7294cbdb9"},"execution_count":12,"outputs":[{"output_type":"stream","name":"stdout","text":["1\n","2\n","3\n","4\n","5\n"]}]},{"cell_type":"markdown","source":["### Користувач вирішує перервати роботу програми"],"metadata":{"id":"YT-SCDae5lSg"}},{"cell_type":"markdown","source":["Програма може виконуватися, поки користувач не захоче зупинити її, для цього більша частина коду полягає в цикл _while_. У програмі визначається ознака завершення, і програма працює, доки користувач не запровадить потрібне значення:"],"metadata":{"id":"mghCa-qP5qKu"}},{"cell_type":"code","source":["prompt = \"\\nTell me something, and I will repeat it back to you:\"\n","prompt += \"\\nEnter 'quit' to end the program. \"\n","message = \"\"\n","while message != 'quit':\n"," message = input(prompt)\n"," print(message)"],"metadata":{"id":"AEOB9IZZ5lkW","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697538907053,"user_tz":-180,"elapsed":63196,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"6e437681-8745-44af-fdc8-12366932efdc"},"execution_count":13,"outputs":[{"output_type":"stream","name":"stdout","text":["\n","Tell me something, and I will repeat it back to you:\n","Enter 'quit' to end the program. 3\n","3\n","\n","Tell me something, and I will repeat it back to you:\n","Enter 'quit' to end the program. fg\n","fg\n","\n","Tell me something, and I will repeat it back to you:\n","Enter 'quit' to end the program. we\n","we\n","\n","Tell me something, and I will repeat it back to you:\n","Enter 'quit' to end the program. rt\n","rt\n","\n","Tell me something, and I will repeat it back to you:\n","Enter 'quit' to end the program. quit\n","quit\n"]}]},{"cell_type":"markdown","source":["## Прапори"],"metadata":{"id":"gshmr-1t5wwB"}},{"cell_type":"markdown","source":["У попередньому прикладі програма виконувала деякі операції, поки задана умова залишалася істинною. А якщо ви пишете складнішу програму, виконання якої може перериватися за декількома різними умовами? Наприклад, комп'ютерна гра може завершуватися з різних причин: у гравця скінчилися всі життя; минув відведений час; всі міста, які він мав захищати, були знищені і т.д. Гра повинна завершуватися під час виконання будь-якої з цих умов. Спроби перевіряти всі можливі умови в одній команді, коли швидко ускладнюються і стають занадто громіздкими."],"metadata":{"id":"wAM10d6a53IC"}},{"cell_type":"markdown","source":["Якщо програма повинна виконуватися лише за істинності кількох умов, визначте одну змінну-прапор. Ця змінна повідомляє, чи програма повинна виконуватися далі. Програму можна написати так, щоб вона продовжувала виконання, якщо прапор знаходиться в стані True, і завершувалася, якщо будь-яка з кількох подій перевела прапор у стан False. В результаті в команді while достатньо перевірити лише одну умову: чи прапор може True. Всі інші перевірки (які повинні визначити, чи сталася подія, що переводить прапор у стан False) зручно організуються в іншому коді. Додамо прапор до програми з попереднього розділу лекції. Цей прапор, який ми назвемо active (хоча змінна може називатися як завгодно), управляє тим, чи має продовжуватися виконання програми:"],"metadata":{"id":"m6r-3s0y58oq"}},{"cell_type":"code","source":["prompt = \"\\nTell me something, and I will repeat it back to you:\"\n","prompt += \"\\nEnter 'quit' to end the program. \"\n","active = True\n","while active:\n"," message = input(prompt)\n"," if message == 'quit':\n"," active = False\n"," else:\n"," print(message)"],"metadata":{"id":"IJ5BGNHd59EH","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697539254491,"user_tz":-180,"elapsed":30861,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"a61797a4-2fa1-4a98-f90c-fab4f559f7f6"},"execution_count":14,"outputs":[{"name":"stdout","output_type":"stream","text":["\n","Tell me something, and I will repeat it back to you:\n","Enter 'quit' to end the program. er\n","er\n","\n","Tell me something, and I will repeat it back to you:\n","Enter 'quit' to end the program. qwq\n","qwq\n","\n","Tell me something, and I will repeat it back to you:\n","Enter 'quit' to end the program. quit\n"]}]},{"cell_type":"markdown","source":["## Команда break та вихід з циклу"],"metadata":{"id":"eqxvJSdx8RBB"}},{"cell_type":"markdown","source":["Щоб негайно перервати цикл while без виконання коду, що залишився в циклі незалежно від стану умови, використовуйте команду _break_. Команда break керує ходом виконання програми; вона дозволить вам керувати тим, яка частина коду виконується, а яка ні. Розглянемо приклад - програму, яка запитує у користувача, в яких містах він бував. Щоб перервати цикл while, програма виконує команду break, як тільки користувач введе значення quit:"],"metadata":{"id":"eqgcoFGO8aMO"}},{"cell_type":"code","source":["prompt = \"\\nPlease enter the name of a city you have visited:\"\n","prompt += \"\\n(Enter 'quit' when you are finished.) \"\n","while True:\n"," city = input(prompt)\n"," if city == 'quit':\n"," break\n"," else:\n"," print(\"I'd love to go to \" + city.title() + \"!\")"],"metadata":{"id":"nhNSuCZY8atn","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697539554594,"user_tz":-180,"elapsed":53416,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"247b4658-6400-430d-fa21-cef58e9ab8c0"},"execution_count":15,"outputs":[{"name":"stdout","output_type":"stream","text":["\n","Please enter the name of a city you have visited:\n","(Enter 'quit' when you are finished.) Lviv\n","I'd love to go to Lviv!\n","\n","Please enter the name of a city you have visited:\n","(Enter 'quit' when you are finished.) London\n","I'd love to go to London!\n","\n","Please enter the name of a city you have visited:\n","(Enter 'quit' when you are finished.) quit\n"]}]},{"cell_type":"markdown","source":["## Команда continue та продовження циклу"],"metadata":{"id":"tTjS1NMG8ilf"}},{"cell_type":"markdown","source":["Замість того, щоб повністю переривати виконання циклу без виконання частини коду, ви можете скористатися командою _continue_ для повернення до початку циклу та перевірки умови. Наприклад, візьмемо цикл, який рахує від 1 до 10, але виводить лише непарні числа в цьому діапазоні:"],"metadata":{"id":"vQS1ZbeD8nWK"}},{"cell_type":"code","source":["current_number = 0\n","while current_number < 15:\n"," current_number += 1\n"," if current_number % 2 == 0:\n"," continue\n"," print(current_number)"],"metadata":{"id":"NceMBYE38nyb","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697540002935,"user_tz":-180,"elapsed":296,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"222b99a5-d668-48df-96be-c20571426c5e"},"execution_count":17,"outputs":[{"output_type":"stream","name":"stdout","text":["1\n","3\n","5\n","7\n","9\n","11\n","13\n","15\n"]}]},{"cell_type":"markdown","source":["## Запобігання зацикленню"],"metadata":{"id":"Qc4-nQZy8uZM"}},{"cell_type":"markdown","source":["У кожного циклу while повинна бути передбачена можливість завершення, щоб цикл не виконувався нескінченно."],"metadata":{"id":"F4F_1oYX80za"}},{"cell_type":"markdown","source":["### Challenge 4\n","Додатки для піци: напишіть цикл, який пропонує\n","користувачеві вводити доповнення для піци доти, доки не буде\n","введено значення 'quit'. При введенні кожного доповнення виведіть\n","повідомлення про те, що цей додаток включено на замовлення."],"metadata":{"id":"k_lJ0hIlEx75"}},{"cell_type":"markdown","source":["### Challenge 5\n","Квитки в кіно: кінотеатр встановив кілька варіантів ціни\n","на квитки в залежності від віку відвідувача. Для відвідувачів молодше\n","3 років квиток безкоштовний; у віці від 3 до 12 квиток коштує $10; нарешті,\n","якщо вік відвідувача більше 12, квиток коштує $15.Напишіть цикл,\n","який пропонує користувачеві запровадити вік та виводить ціну квитка."],"metadata":{"id":"KcybVPKQEyFR"}},{"cell_type":"markdown","source":["### Challenge 6\n","Три выхода: напишите альтернативную версию упражнения 6-4\n","или упражнения 6-5, в которой каждый пункт следующего списка\n","встречается хотя бы один раз.\n","Завершение цикла по проверке условия в команде while.\n","Управление продолжительностью выполнения цикла в зависимости от переменной active. Выход из цикла по команде break, если пользователь вводит значение ‘quit’."],"metadata":{"id":"Lr7YagIQEyM0"}},{"cell_type":"markdown","source":["### Challenge 7\n","Нескінченний цикл: напишіть цикл, який ніколи не\n","завершується, і виконайте його.(Щоб вийти з циклу, натисніть Ctrl+C або закрийте вікно з виведенням.)"],"metadata":{"id":"MUKpSE_oEyYi"}},{"cell_type":"markdown","source":["## Використання циклу while зі списками та словниками"],"metadata":{"id":"tcp6zsoW89i_"}},{"cell_type":"markdown","source":["До цього моменту ми працювали лише з одним фрагментом інформації, отриманої від користувача. Ми отримували введення користувача, а потім виводили відповідь на нього. При наступному проході циклу, коли програма отримувала нове вхідне значення і реагувала на нього. Але, щоб працювати з кількома фрагментами інформації, необхідно використовувати в циклі хwhile списки та словники.\n","
Цикл for добре підходить для перебору списків, але, швидше за все, список не повинен змінюватися в циклі, тому що Python виникнуть проблеми з відстеженням елементів. Щоб змінити список у процесі обробки, використовуйте цикл while. Використання циклів while зі списками та словниками дозволяє збирати, зберігати та впорядковувати великі обсяги даних для подальшого аналізу та обробки.\n","
Візьмемо список нещодавно зареєстрованих, але ще не перевірених користувачів сайту. Як перемістити користувачів після перевірки до окремого списку перевірених користувачів? Одне з можливих рішень: використовуємо цикл while для вилучення користувачів зі списку неперевірених, перевіряємо їх та включаємо до окремого списку перевірених користувачів. Код може виглядати так:"],"metadata":{"id":"XgvWSDtP9DEZ"}},{"cell_type":"code","source":["# Починаємо з двох списків: користувачів для перевірки\n","# і порожнього списку для зберігання перевірених користувачів\n","unconfirmed_users = ['alice', 'brian', 'candace']\n","confirmed_users = []\n","# Перевіряємо кожного користувача, поки залишаються неперевірені\n","# користувачі. Кожен користувач, який пройшов перевірку,\n","# переміщується до списку перевірених.\n","while unconfirmed_users:\n"," current_user = unconfirmed_users.pop()\n"," print(\"Verifying user: \" + current_user.title())\n"," confirmed_users.append(current_user)\n","# Виведення всіх перевірених користувачів.print(\"\\nThe following users have been confirmed:\")\n","for confirmed_user in confirmed_users:\n"," print(confirmed_user.title())"],"metadata":{"id":"HY1b9rNQ9Dz9","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697540717751,"user_tz":-180,"elapsed":296,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"72cde1f1-2798-4550-c03c-ca8c89793dd0"},"execution_count":18,"outputs":[{"output_type":"stream","name":"stdout","text":["Verifying user: Candace\n","Verifying user: Brian\n","Verifying user: Alice\n","Candace\n","Brian\n","Alice\n"]}]},{"cell_type":"markdown","source":["## Видалення всіх входжень конкретного значення зі списку"],"metadata":{"id":"uVK6ljaN9c8q"}},{"cell_type":"markdown","source":["Допустимо, є список pets, в якому значення 'cat' зустрічається багаторазово. Щоб видалити всі екземпляри цього значення, можна виконувати цикл while до тих пір, поки в списку не залишиться жодного екземпляра 'cat':"],"metadata":{"id":"UAwhBdYu9gvX"}},{"cell_type":"code","source":["pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']\n","print(pets)\n","while 'cat' in pets:\n"," pets.remove('cat')\n","print(pets)"],"metadata":{"id":"xj-tZCBc9hG4","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697540838798,"user_tz":-180,"elapsed":305,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"eb2decbd-7d00-4d11-d9b6-59b6adbde5fc"},"execution_count":19,"outputs":[{"output_type":"stream","name":"stdout","text":["['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']\n","['dog', 'dog', 'goldfish', 'rabbit']\n"]}]},{"cell_type":"markdown","source":["Заповнення словника даними, введеними користувачем"],"metadata":{"id":"I-gTASul9o3X"}},{"cell_type":"markdown","source":["При кожному проході циклу while ваша програма може вимагати будь-яку необхідну кількість даних. Напишемо програму, яка при кожному проході циклу запитує ім'я учасника та його відповідь. Зібрані дані зберігатимуться у словнику, тому що кожна відповідь має бути пов'язана з конкретним користувачем:"],"metadata":{"id":"XjD36gzD9qN4"}},{"cell_type":"code","source":["responses = {}\n","# Встановити прапор продовження опитування.\n","polling_active = True\n","while polling_active:\n"," # Запит імені та відповіді користувача.\n"," name = input(\"\\nWhat is your name? \")\n"," response = input(\"Which mountain would you like to climb someday? \")\n"," # Відповідь зберігається всловнику:\n"," responses[name] = response\n"," # Перевірка продовження опитування.\n"," repeat = input(\"Would you like to let another person respond? (yes/ no) \")\n"," if repeat == 'no':\n"," polling_active = False\n"," # Опитування завершено, вивести результати.\n","print(\"\\n--- Poll Results ---\")\n","for name, response in responses.items():\n"," print(name + \" would like to climb \" + response + \".\")"],"metadata":{"id":"spsbquHv9pZQ","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1697541268182,"user_tz":-180,"elapsed":70524,"user":{"displayName":"Іван Клопов","userId":"16257059839054245446"}},"outputId":"25511de4-0d3e-4f90-a587-de7a3854f0bc"},"execution_count":21,"outputs":[{"output_type":"stream","name":"stdout","text":["\n","What is your name? Ivan\n","Which mountain would you like to climb someday? Kilimangaro\n","Would you like to let another person respond? (yes/ no) yes\n","\n","What is your name? Dmutro\n","Which mountain would you like to climb someday? Everest\n","Would you like to let another person respond? (yes/ no) no\n","\n","--- Poll Results ---\n","Ivan would like to climb Kilimangaro.\n","Dmutro would like to climb Everest.\n"]}]},{"cell_type":"markdown","source":["### Challenge 8\n","Сендвічі: створіть список з ім'ям sandwich_orders, заповніть\n","його назвами різних видів сендвічів. Створіть порожній список з\n","ім'ям finished_sandwiches. У циклі переберіть елементи першого списку\n","та виведіть повідомлення для кожного елемента (наприклад, «I made your tuna\n","sandwich »). Після цього кожен сендвіч з першого списку переміщається в\n","список finished_sandwiches. Після того, як всі елементи першого списку\n","будуть оброблені, виведіть повідомлення з перерахуванням усіх\n","виготовлених сендвічів."],"metadata":{"id":"9Fl_UoDlFM59"}},{"cell_type":"markdown","source":["### Challenge 9\n","Без пастрами: використовуючи список sandwich_orders із вправи\n","7-8, простежте за тим, щоб значення pastrami зустрічалося в списку як\n","мінімум тричі. Додайте на початок програми код для виведення\n","повідомлення про те, що пастрами більше немає, і напишіть цикл while для\n","видалення всіх входжень 'pastrami' із sandwich_orders. Переконайтеся, що\n","що в finished_sandwiches значення 'pastrami' не зустрічається жодного\n","рази."],"metadata":{"id":"6y8q2KhvFXKd"}},{"cell_type":"markdown","source":["### Challenge 10\n","Відпустка мрії: напишіть програму, яка опитує\n","користувачів, де б вони хотіли провести відпустку. Увімкніть блок коду для\n","виведення результатів опитування."],"metadata":{"id":"uP7liAvBFZRo"}}]}