{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [], "collapsed_sections": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "markdown", "source": [ "Vytvořte 5 proměnných s různými datovými typy.\n", "Následně vypište jejich datový typ pomoci funkce `print()`" ], "metadata": { "id": "0GNeYfeEuHD2" } }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "W1WJC4rHuE2i" }, "outputs": [], "source": [ "my_string = \"Ahoj\"\n", "my_int = 12\n", "my_float = 12.34\n", "my_boolean = True\n", "my_list = [1, 2, 3, 4]\n", "\n", "print(type(my_string))\n", "print(type(my_int))\n", "print(type(my_float))\n", "print(type(my_boolean))\n", "print(type(my_list))" ] }, { "cell_type": "markdown", "source": [ "Vytvořte sadu funkcí pro matematické operace nad **dvěmi čísly** sčítání, odčítání, násobení. Kdo bude chtít může vytvořit i dělelní, ale je potřeba myslet na to, že nelze dělit nulou a v této funkci bude potřeba implementovat podmínku.\n", "\n", "Adekvátně funkce pojmenujte. Funkce budou mít návratovou hodnotu `return`\n", "\n", "Po jejich deklaraci všechny funkce zavolejte a předejte jim příslušné parametry. " ], "metadata": { "id": "fi7-7xKn4S6y" } }, { "cell_type": "code", "source": [ "def soucet(a, b):\n", " return a + b\n", "\n", "def odcitani(a,b):\n", " return a - b\n", "\n", "def nasobeni(a, b):\n", " return a * b\n", "\n", "def deleni(a, b):\n", " if b == 0:\n", " return \"Delit nulou nelze!\"\n", " else:\n", " return a / b\n", "\n", "# Navic, ale procviceni\n", "input_1 = float(input(\"Zadej prvni cislo: \"))\n", "input_2 = float(input(\"Zadej druhe cislo: \"))\n", "\n", "\n", "print(\"Vysledek +\", soucet(input_1,input_2))\n", "print(\"Vysledek -\", odcitani(input_1,input_2))\n", "print(\"Vysledek *\", nasobeni(input_1,input_2))\n", "print(\"Vysledek /\", deleni(input_1,input_2))" ], "metadata": { "id": "t8BTewLn4u1I" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "Na programujte jednoduchý bankomat, který od uživatele bude postupně validovat vstupy pro:\n", "- číslo karty, které **musí být číslo**, **musí mít délku 8**\n", "- Ověřte uživatele podle PINu, který je uložený v proměnné na začátku programu\n", "- Na zadání PINu má 3 pokusy\n", "\n", "Pokud je uživatel ověřen, vypište menu s volbami, co může na základě svého výběru udělat.\n", "\n", "```\n", "Možné operace:\n", "1 - Odeslat peníze\n", "2 - Vložit peníze\n", "3 - Ověřit zůstatek\n", "4 - Konec\n", "Co chceš provést za operaci?\n", "```\n", "\n", "Taháky\n", "- zjištění dálky řetezce `len(muj_retezec)` -> vrátí číslo\n", "- ověření, zda se jedná o číslo máme metodu řetězce `.isdigit()` -> vrací `True` nebo `False`\n", "- vhodný cylkus je cyklus `while podminka:`\n", "- ukočit program na libovolném místě můžete pomoci příkazu `exit()`\n", "\n", "# NEPLNITELNÝ ÚKOL V GOOGLE COLAB, PROTOŽE NENÍ MOŽNÉ POUŽÍT PŘÍKAZ `exit()`" ], "metadata": { "id": "ANlUuWWk145H" } }, { "cell_type": "code", "source": [ "PIN = '1234'\n", "\n", "pokusy = 3\n", "\n", "# card_number = input(\"Vitej, zadej cislo karty: \")\n", "\n", "# while len(card_number) != 8 or card_number.isdigit() == False:\n", "# card_number = input(\"SPATNE CISLO KARTY. Zadej nove: \")\n", "\n", "user_pin = input(\"Zadej PIN: \")\n", "while pokusy > 0:\n", "\n", " while user_pin != PIN:\n", " pokusy = pokusy - 1\n", " if pokusy == 0:\n", " break\n", " user_pin = input(\"SPATNE. Zadej PIN znovu: \")\n", " else:\n", " print(\"ok\")\n", " break\n", "\n", "\n", "\n", "\n", "print(\"Dosly ti pokusy\")" ], "metadata": { "id": "Kc5YK8zl2iPs" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": [ "Napis program, ktery vykresli pravouhly trojúhelník a čtverec\n", "\n", "Uzivatel zadana sirku obrazce.\n", "\n", "```\n", "*\n", "**\n", "***\n", "****\n", "*****\n", "\n", "*****\n", "* *\n", "* *\n", "* *\n", "*****\n", "```" ], "metadata": { "id": "FavVmJT1FWCf" } }, { "cell_type": "code", "source": [ "sirka = 5\n", "\n", "for level in range(1, sirka + 1):\n", " print(\"*\" * level)\n", "\n", "print()\n", "\n", "for level in range(1, sirka + 1):\n", " if level == 1 or level == sirka:\n", " print(\"*\" * sirka)\n", " else:\n", " print(\"*\" +\n", " \" \" * (sirka - 2) + \n", " \"*\")" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "L4rcj3CJFRh5", "outputId": "4c5de4cc-deaa-43d7-ae2f-749bbded894b" }, "execution_count": 55, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "*\n", "**\n", "***\n", "****\n", "*****\n", "\n", "*****\n", "* *\n", "* *\n", "* *\n", "*****\n" ] } ] }, { "cell_type": "markdown", "source": [ "Vytvořte list, který bude obsahovat 5 prvků. Poté:\n", "- list seřeďte sestupně, \n", "- následně vymažte prvek na indexu 2.\n", "\n", "Z tohoto listu poté vytvořte set()\n", "\n", "Vytvořte dictionary, které vás bude popisovat.\n", "- jméno\n", "- příjmení\n", "- věk\n", "- domácí mazlíčci jako list\n", "- jako vnořený dictionary popis mobilu\n", " - výrobce\n", " - staří v rocích" ], "metadata": { "id": "T3trsnxof_CV" } }, { "cell_type": "code", "source": [ "my_list = [2, 3, 1, 0, 5]\n", "\n", "my_list.sort(reverse=True)\n", "print(my_list)\n", "\n", "my_list.pop(2)\n", "print(my_list)\n", "\n", "my_set = set(my_list)\n", "my_set.add(4)\n", "print(my_set)\n", "\n", "me = {\n", " \"name\": \"Patrik\",\n", " \"surname\": \"Prochazka\",\n", " \"age\": 29,\n", " \"pets\": [\"Kevin\", \"Tapina\"],\n", " \"cellphone\": {\n", " \"manufacturer\": \"Apple\",\n", " \"age\": 2\n", " }\n", "}" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "nzfCJdGBga43", "outputId": "f5a33fa3-b3eb-4941-b831-f9598a500fc5" }, "execution_count": 59, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "[5, 3, 2, 1, 0]\n", "[5, 3, 1, 0]\n", "{0, 1, 3, 4, 5}\n" ] } ] }, { "cell_type": "markdown", "source": [ "Vytvoříte dva Series objekty. Jeden objekt bude mít defaultní indexování. Druhý bude mít vámi nadefinované indexování. Tyto objekty budou vycházet z NumPy Array objektu (1d pole), který naplníte náhodnými čísly.\n", "\n", "Vypište výsledek, co jste vytvořili.\n", "\n", "Vytvořte si `dictionary` objekt, který bude mít strukturu podle vaší fantazie, ale hodnoty nechte jako čísla. Vytvořete tak třetí obejkt Series z tohoto dictionary. A pojmenujte ho pomoci parametru, aby to bylo hezky vidět ve výpisu.\n", "Samozřejmě i tento objekt vypište." ], "metadata": { "id": "RoZqrspaKwrl" } }, { "cell_type": "code", "source": [ "import numpy as np\n", "import pandas as pd\n", "\n", "random_nums = np.random.randint(1, 10, 5)\n", "\n", "# print(random_nums)\n", "\n", "s1 = pd.Series(np.random.randn(5))\n", "\n", "print(s1)\n", "\n", "s2 = pd.Series(np.random.randn(5), index=[\"a\", \"b\", \"c\", \"d\", \"e\"])\n", "\n", "print(s2)\n", "\n", "my_dict = {\n", " \"Patrik\": 10,\n", " \"Jana\": 20\n", "}\n", "\n", "s3 = pd.Series(my_dict, name=\"Kolikrat mel kdo pravdu\")\n", "print(s3)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "U5e6yXloKwTw", "outputId": "6cfcd93b-9e51-4d33-d07b-b86ba36b09d9" }, "execution_count": 9, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "0 -0.138519\n", "1 1.122901\n", "2 1.217216\n", "3 0.615019\n", "4 1.917930\n", "dtype: float64\n", "a 0.538885\n", "b -0.929270\n", "c -0.588719\n", "d 0.213834\n", "e 1.552051\n", "dtype: float64\n", "Patrik 0\n", "Jana 20\n", "Name: Kolikrat mel kdo pravdu, dtype: int64\n" ] } ] } ] }