{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Программирование для всех\n", "\n", "*Алла Тамбовцева, НИУ ВШЭ*\n", "\n", "## Практикум 3: условия, циклы, функции" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 1\n", "\n", "Напишите программу, которая просит пользователя ввести положительное число, и если пользователь вводит положительное число, выводит на экран сообщение \"Молодец!\", если нет – \"Это не положительное число!\" в предположении, что пользователь всегда вводит какие-то числа, целые или дробные, а не текст." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-5\n", "Это не положительное число!\n" ] } ], "source": [ "w = float(input())\n", "if w > 0:\n", " print(\"Молодец!\")\n", "else:\n", " print(\"Это не положительное число!\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 2\n", "\n", "У питона есть набор любимых чисел." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "favorites = [3, 7, 11, 23, 18, 48, 81]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Напишите программу, которая просит пользователя ввести целое число, и если оно нравится питону, на экран будет выводиться сообщение: \"Мое любимое число!\", если нет – \"Эх, ну почему?\"." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "23\n", "Мое любимое число!\n" ] } ], "source": [ "v = int(input())\n", "if v in favorites:\n", " print(\"Мое любимое число!\")\n", "else:\n", " print(\"Эх, ну почему?\")" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "15\n", "Эх, ну почему?\n" ] } ], "source": [ "# для любителей решений посложнее\n", "\n", "# p: простой счетчик, если число найдено,\n", "# принимает значение 1, иначе 0\n", "\n", "p = 0 \n", "\n", "v = int(input())\n", "for f in favorites:\n", " if v == f:\n", " print(\"Мое любимое число!\")\n", " p = 1 # меняем счетчик, число найдено, выходим из цикла\n", " break\n", "\n", "# если счетчик остался 0, число не найдено \n", " \n", "if p == 0:\n", " print(\"Эх, ну почему?\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 3\n", "\n", "Напишите программу, которая запрашивает у пользователя пароль, и далее:\n", "\n", "* если пароль верный, выводит на экран сообщение \"Login success\".\n", "* если пароль неверный, выводит на экран сообщение \"Incorrect password, try again!\" до тех пор, пока пользователь не введёт верный пароль." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Enter your password: hse\n", "Incorrect password, try again!\n", "Enter your password: hsep\n", "Incorrect password, try again!\n", "Enter your password: hsepassword\n", "Login success\n" ] } ], "source": [ "# вариант 1 – классический while\n", "\n", "password = \"hsepassword\"\n", "inp = input(\"Enter your password: \")\n", "\n", "while inp != password:\n", " print(\"Incorrect password, try again!\")\n", " inp = input(\"Enter your password: \")\n", "print(\"Login success\")" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Enter your password: hsepassword\n", "Login success\n" ] } ], "source": [ "# вариант 2 – while True\n", "\n", "password = \"hsepassword\"\n", "inp = input(\"Enter your password: \")\n", "\n", "while True:\n", " if password == inp:\n", " break \n", " else:\n", " print(\"Incorrect password, try again!\")\n", " inp = input(\"Enter your password: \")\n", "print(\"Login success\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 4\n", "\n", "* Напишите функцию `square()`, которая принимает на вход число и возвращает его квадрат.\n", "* Напишите функцию `square2()`, которая принимает на вход число, выводит на экран сообщение вида \"Квадрат числа равен: n\" и ничего не возвращает;\n", "* Напишите функцию `square3()`, которая выводит на экран сообщение вида \"Квадрат числа равен: n\" и возвращает квадрат числа." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def square(x):\n", " return x**2" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def square2(x):\n", " print(\"Квадрат числа равен: \", x**2)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def square3(x):\n", " print(\"Квадрат числа равен: \", x**2)\n", " return x**2" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "9\n" ] } ], "source": [ "#  тестируем первую\n", "\n", "r = square(3)\n", "print(r) #  есть результат" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Квадрат числа равен: 9\n", "None\n" ] } ], "source": [ "#  тестируем вторую\n", "\n", "r2 = square2(3)\n", "print(r2) #  нет результата, он пустой" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Квадрат числа равен: 9\n", "9\n" ] } ], "source": [ "#  тестируем третью\n", "\n", "r3 = square3(3)\n", "print(r3) #  есть основной результат и побочный (вывод на экран)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 5\n", "\n", "Напишите функцию `nums()`, которая принимает на вход целое число, а возвращает список из двух элементов: целое число, предшествующее принятому на вход, и число, следующее за ним." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "def nums(n):\n", " return [n-1, n+1]" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[-1, 1]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nums(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 6\n", "\n", "Напишите функцию `str_lower()`, которая принимает на вход строку (набор слов через пробел), а возвращает список ее элементов в нижнем регистре.\n", "\n", "Пример работы программы:\n", "\n", "Входные данные:\n", "\n", " \"В лесу родилась ёлочка В лесу она росла\"\n", "\n", "Выходные данные:\n", "\n", " ['в', 'лесу', 'родилась', 'ёлочка', 'в', 'лесу', 'она', 'росла']" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "def str_lower(old):\n", " new = old.lower()\n", " words = new.split()\n", " return words" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['в', 'лесу', 'родилась', 'ёлочка', 'в', 'лесу', 'она', 'росла']" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "str_lower(\"В лесу родилась ёлочка В лесу она росла\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }