286 lines
6.1 KiB
Plaintext
286 lines
6.1 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Conditionals"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Testing truth value"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### `bool`"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"print('type of True and False: {}'.format(type(True)))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"print('0: {}, 1: {}'.format(bool(0), bool(1)))\n",
|
|
"print('empty list: {}, list with values: {}'.format(bool([]), bool(['woop'])))\n",
|
|
"print('empty dict: {}, dict with values: {}'.format(bool({}), bool({'Python': 'cool'})))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### `==, !=, >, <, >=, <=`"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"print('1 == 0: {}'.format(1 == 0))\n",
|
|
"print('1 != 0: {}'.format(1 != 0))\n",
|
|
"print('1 > 0: {}'.format(1 > 0))\n",
|
|
"print('1 > 1: {}'.format(1 > 1))\n",
|
|
"print('1 < 0: {}'.format(1 < 0))\n",
|
|
"print('1 < 1: {}'.format(1 < 1))\n",
|
|
"print('1 >= 0: {}'.format(1 >= 0))\n",
|
|
"print('1 >= 1: {}'.format(1 >= 1))\n",
|
|
"print('1 <= 0: {}'.format(1 <= 0))\n",
|
|
"print('1 <= 1: {}'.format(1 <= 1))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"You can combine these:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"print('1 <= 2 <= 3: {}'.format(1 <= 2 <= 3))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### `and, or, not`"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"python_is_cool = True\n",
|
|
"java_is_cool = False\n",
|
|
"empty_list = []\n",
|
|
"secret_value = 3.14"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"print('Python and java are both cool: {}'.format(python_is_cool and java_is_cool))\n",
|
|
"print('secret_value and python_is_cool: {}'.format(secret_value and python_is_cool))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"print('Python or java is cool: {}'.format(python_is_cool or java_is_cool))\n",
|
|
"print('1 >= 1.1 or 2 < float(\"1.4\"): {}'.format(1 >= 1.1 or 2 < float('1.4')))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"print('Java is not cool: {}'.format(not java_is_cool))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"You can combine multiple statements, execution order is from left to right. You can control the execution order by using brackets."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"print(bool(not java_is_cool or secret_value and python_is_cool or empty_list))\n",
|
|
"print(bool(not (java_is_cool or secret_value and python_is_cool or empty_list)))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## `if`"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"statement = True\n",
|
|
"if statement:\n",
|
|
" print('statement is True')\n",
|
|
" \n",
|
|
"if not statement:\n",
|
|
" print('statement is not True')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"empty_list = []\n",
|
|
"# With if and elif, conversion to `bool` is implicit\n",
|
|
"if empty_list:\n",
|
|
" print('empty list will not evaluate to True') # this won't be executed"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"val = 3\n",
|
|
"if 0 <= val < 1 or val == 3:\n",
|
|
" print('Value is positive and less than one or value is three')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## `if-else`"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"my_dict = {}\n",
|
|
"if my_dict:\n",
|
|
" print('there is something in my dict')\n",
|
|
"else:\n",
|
|
" print('my dict is empty :(')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## `if-elif-else`"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"val = 88\n",
|
|
"if val >= 100:\n",
|
|
" print('value is equal or greater than 100')\n",
|
|
"elif val > 10:\n",
|
|
" print('value is greater than 10 but less than 100')\n",
|
|
"else:\n",
|
|
" print('value is equal or less than 10')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"You can have as many `elif` statements as you need. In addition, `else` at the end is not mandatory."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"greeting = 'Hello fellow Pythonista!'\n",
|
|
"language = 'Italian'\n",
|
|
"\n",
|
|
"if language == 'Swedish':\n",
|
|
" greeting = 'Hejsan!'\n",
|
|
"elif language == 'Finnish':\n",
|
|
" greeting = 'Latua perkele!'\n",
|
|
"elif language == 'Spanish':\n",
|
|
" greeting = 'Hola!'\n",
|
|
"elif language == 'German':\n",
|
|
" greeting = 'Guten Tag!'\n",
|
|
" \n",
|
|
"print(greeting)"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3.0
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.5.4"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 0
|
|
} |