add lesson 03
This commit is contained in:
265
03_user_input.ipynb
Normal file
265
03_user_input.ipynb
Normal file
@@ -0,0 +1,265 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "3beaec4d-0974-495f-b538-61b74c461410",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# User Input"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "108ea414-31fc-4cae-8951-e87742d0fc20",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"`input()` - функция, которая просит пользователя ввести данные, а возвращает введенные данные в формате строки (`str`). Попробуем ее использовать."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "e43b4186-6a5f-4559-a619-bd55289ee62e",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdin",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" vlad\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"your name is vlad\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"name = input()\n",
|
||||
"print(f\"your name is {name}\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "372a4b5f-d601-4dc2-801c-c31f2cd76cbe",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Как видно, в переменную `name` сохранилась введенная строка.\n",
|
||||
"Ввод строки заканчивается нажатием на клавишу `enter`. Попробуйте запустить программу выше и ввести свое имя в соответствующее поле."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "3c3de63f-d8b2-4322-9eab-33dda9a219f8",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"В функцию `input()` можно передавать строковый параметр чтобы \"подсказать\" пользователю, какой ввод от него ожидается."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"id": "70c2964a-afc9-4400-83a8-fd0c3ef5b641",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdin",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"enter your name: nik\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"your name is nik\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"name = input(\"enter your name: \")\n",
|
||||
"print(f\"your name is {name}\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "28b6fdde-c224-41db-96db-5b49ae16324a",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Давайте напишем программу, которая будет спрашивать у пользователя имя и возраст, а затем поздравлять его с днем рождения."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"id": "09059004-0c78-4374-863e-f29ee1f08cf6",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdin",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"what is your name?: vlad\n",
|
||||
"How old are you?: 12\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"ename": "TypeError",
|
||||
"evalue": "can only concatenate str (not \"int\") to str",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
|
||||
"Cell \u001b[0;32mIn[6], line 4\u001b[0m\n\u001b[1;32m 1\u001b[0m name \u001b[38;5;241m=\u001b[39m \u001b[38;5;28minput\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mwhat is your name?: \u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;66;03m# запрашиваем имя\u001b[39;00m\n\u001b[1;32m 2\u001b[0m age \u001b[38;5;241m=\u001b[39m \u001b[38;5;28minput\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mHow old are you?: \u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;66;03m# запрашиваем возраст\u001b[39;00m\n\u001b[0;32m----> 4\u001b[0m age \u001b[38;5;241m=\u001b[39m \u001b[43mage\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1\u001b[39;49m \u001b[38;5;66;03m# увеличиваем возраст на 1\u001b[39;00m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mHello \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mname\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m!\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mHappy Birthday\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
|
||||
"\u001b[0;31mTypeError\u001b[0m: can only concatenate str (not \"int\") to str"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"name = input(\"what is your name?: \") # запрашиваем имя\n",
|
||||
"age = input(\"How old are you?: \") # запрашиваем возраст\n",
|
||||
"\n",
|
||||
"age = age + 1 # увеличиваем возраст на 1\n",
|
||||
"\n",
|
||||
"print(f\"Hello {name}!\")\n",
|
||||
"print(\"Happy Birthday\")\n",
|
||||
"print(f\"you are {age} years old\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "2bb86b8e-32b9-4a81-add5-aa6582110d7a",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Программа выше выдаст ошибку, так как мы получаем возраст в формате `str` и хотим его увеличить путем прибавления единицы. Но мы не можем складывать `int` и `str` поэтому `age` нужно привести к типу `int`, а потом уже выполнять сложение."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"id": "c9290070-1446-4198-a315-6e07e255fdda",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdin",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"what is your name?: vlad\n",
|
||||
"How old are you?: 12\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Hello vlad!\n",
|
||||
"Happy Birthday\n",
|
||||
"you are 13 years old\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"name = input(\"what is your name?: \") # запрашиваем имя\n",
|
||||
"age = input(\"How old are you?: \") # запрашиваем возраст\n",
|
||||
"\n",
|
||||
"age = int(age) # приводим age к типу int\n",
|
||||
"\n",
|
||||
"age = age + 1 # увеличиваем возраст на 1\n",
|
||||
"\n",
|
||||
"print(f\"Hello {name}!\")\n",
|
||||
"print(\"Happy Birthday\")\n",
|
||||
"print(f\"you are {age} years old\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "ae37308f-3188-416e-9c6e-73bfdc7c1b84",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Чаще всего не пишут отдельно `age = int(age)`. Вместо этого можно использовать вот такую запись."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "3e76933a-1826-4140-a477-8a7190f3ca52",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"name = input(\"what is your name?: \") # запрашиваем имя\n",
|
||||
"\n",
|
||||
"# запрашиваем возраст и сразу приводим к типу int\n",
|
||||
"age = int(input(\"How old are you?: \"))\n",
|
||||
"\n",
|
||||
"age = age + 1 # увеличиваем возраст на 1\n",
|
||||
"\n",
|
||||
"print(f\"Hello {name}!\")\n",
|
||||
"print(\"Happy Birthday\")\n",
|
||||
"print(f\"you are {age} years old\")"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "184d3b4f-c355-4cc5-b8fe-52243ead0c6e",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# Задания"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "fb0e7425-75e3-41db-b010-55638abefe3c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"1. Введите 2 переменные `length` (длина) и `width` (ширина). Запросите их значения у пользователя. И затем выведите площадь прямоугольника с такими сторонами. Программа должна оканчиваться строкой.\n",
|
||||
"\n",
|
||||
"```python\n",
|
||||
"print(f\"the area of the rectangle with length = {length} and width = {width} equals {area}\")\n",
|
||||
"```"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "ead46f8a-2550-47b9-a07c-1d4a8efb5d23",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"# решение задания №1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "8af6ed62-b387-46b8-a075-c802d6802423",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"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.11.6"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
Reference in New Issue
Block a user