Files
college-datascience/1/beppe versie.ipynb

322 lines
9.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Labo 1 Data Science: Basis Python"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"source": [
"Alvast 10 bijzonderheden van de taal :\n",
"1. Python is een geïnterpreteerde taal\n",
"2. Code wordt gestructureerd via spaties / tabs en niet via accolades\n",
"\n",
" for x in array:\n",
" if x < 4:\n",
" result = True\n",
"3. Python is dynamisch en sterk getypeerd\n",
"4. Alles is een object in Python : getallen, strings, data structuren, functies, classes, ... \n",
" en elk object heeft interne data en een type\n",
"5. Commentaar plaats je achter de hash mark : # dit zal genegeerd worden\n",
"6. Functies kunnen _positional_ en _keyword_ argumenten hebben : result = f(a,b,c,d=5,e='foo')\n",
"7. The Python null value type is `None`\n",
"8. Python built-in data structures : Tuple, List, Set, Dictionary\n",
"9. \n",
" #variable unpacking \n",
" tup = (4,5,6)\n",
" a,b,c = tup\n",
" \n",
" #swapping\n",
" a,b = 1,2\n",
" b,a = a,b\n",
" \n",
" #slicing :\n",
" seq = [1,2,3,4,5]\n",
" seq[2:4] = [3,2]\n",
" \n",
"10. Matplotlib Integratie\n",
"\n",
"Meer bijzonderheden te ontdekken ivm basis Python : https://docs.python.org/3/tutorial/"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Types in Python"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"a = 'een manier om een string te maken'\n",
"b = \"nog een manier\"\n",
"print('a = {0} en \\nb = {1}'.format(a,b))\n",
"\n",
"text = ('Je kan strings naast elkaar plaatsen.' ' Samen wordt dit dan 1 string.')\n",
"print(text)\n",
"\n",
"# print(text + 3) werkt niet! wel :\n",
"print(text + str(3))\n",
"\n",
"#concatenatie en herhaling van strings\n",
"samen = 'hot' + 'ten' + 'tot' + 2 * 'ten' + 'toonstelling'\n",
"print(samen)\n",
"\n",
"#indexing en slicing\n",
"print(samen[2])\n",
"print(samen[-2])\n",
"print(samen[2:4])\n",
"print(samen[4:])\n",
"print(samen[-2:])\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_Oefening 1_ : Schrijf een programma waarbij je de gebruiker zijn naam en leeftijd vraagt. Verwelkom deze gebruiker en laat hem weten in welk jaar deze de leeftijd van 100 jaar zal bereiken. Maak gebruik van de datetime module (Tip : via de input() methode kan je de gebruiker input laten geven. ) "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"naam plsbeppe\n",
"leeftijd pls22\n",
"hallo beppe je bent nu 22 en je zal 100 jaar oud worden in het jaar 2097\n"
]
}
],
"source": [
"import datetime\n",
"\n",
"naam = input('naam pls\\n')\n",
"leeftijd = int(input('leeftijd pls\\n'))\n",
"\n",
"nu = datetime.datetime.now()\n",
"cent = nu.year - leeftijd + 100\n",
"\n",
"print(\"hallo {} je bent nu {} en je zal 100 jaar oud worden in het jaar {}\".format(naam, leeftijd, cent))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_Oefening 2_ : Schrijf een programma dat de conversie van Celsius\n",
"naar Fahrenheit doet. De conversieformule is $^\\circ$F = 9/ 5 * $^\\circ$C + 32. Pas de omzetting\n",
"toe op een ingegeven temperatuur in Celsius. Controleer de correcte\n",
"uitvoer van je programma: 12$^\\circ$C = 53.6$^\\circ$F\n",
"Maak tevens de omgekeerde conversie van Fahrenheit naar Celsius doet. Controleer de\n",
"correcte uitvoer van je programma: 77$^\\circ$F = 25$^\\circ$C"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"temp pls77\n",
"is dit celcius of farenheit? (c/f)f\n",
"77.0 F = 25.0 C\n"
]
}
],
"source": [
"temp = float(input('temp pls'))\n",
"keuze = input('is dit celcius of farenheit? (c/f)')\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"if keuze[0] == 'c':\n",
" f = 9/5 * temp + 32\n",
" print('{} F = {} C'.format(f, temp))\n",
"else:\n",
" c = (temp - 32) / (9/5) \n",
" print('{} F = {} C'.format(temp, c))\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Opwarmer datastructuren"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_Oefening 3_ : \n",
"* Defineer een singleton (=tupel met één element) met daarin een dictionary met een aantal steden (key = postcode, value = naam)\n",
"* Zoek een stad op op basis van een postcode die de gebruiker invoert\n",
"* Definieer 2 lijsten: ééntje met de letters van het woord 'brood' en ééntje met letters van het woord 'beneden'\n",
"* Schrijf een functie _klinkers_ die een lijst van letters filtert zodanig dat enkel de klinkers overblijven \n",
"* Zet de 2 startlijsten om naar verzamelingen en print ze op het scherm - wat merk je?\n",
"* Voeg een element naar keuze toe\n",
"* Check op een snelle manier of 'r' in deze verzamelingen zit\n",
"* Bepaal de doorsnede en de unie van deze verzamelingen"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Lists"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_Oefening 4_ : Schrijf een python functie die gegeven een getal als input, \n",
" als resultaat alle delers van dat getal teruggeeft. *Tip:* maak gebruik van de range() functie.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Dictionaries "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_Oefening 5_ : Maak een dictionary van verjaardagen. \n",
"Maak deze eerst als volgt: de keys zijn de persoonsnamen, de values worden de geboortedata. \n",
"Op die manier kan je een persoon opzoeken en meteen zijn verjaardag teruggeven. Gebruik hiervoor de datafile : ´DataLabo_01.txt´\n",
" \n",
"Tel nu voor elke maand hoeveel personen in je dictionary jarig zijn. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_Oefening 6_ : Gegeven de file ´DataLabo_02.txt´ die als volgt is opgebouwd :\n",
" \n",
" /a/abbey/sun_aqswjsnjlrfzzhiz.jpg\n",
" /a/abbey/sun_aaoktempcmudsvna.jpg\n",
" /a/abbey/sun_arxtvfkkycnqhfkj.jpg \n",
" ...\n",
" /a/airplane_cabin/sun_acgckqygipshenhl.jpg\n",
" /a/airplane_cabin/sun_aanoyykhajnceqyv.jpg\n",
" /a/airplane_cabin/sun_apitrhpmfpwtwnie.jpg\n",
" ...\n",
" /m/music_store/sun_djyusglcuskwollt.jpg\n",
" /m/music_store/sun_djskmwiztkajspnj.jpg\n",
" /m/music_store/sun_dsvwpkmyttqgauxd.jpg\n",
" ...\n",
"\n",
"Tel per categorie (bv: abbey, airplane en music_store) hoeveel jpg figuren er van die categorie beschikbaar zijn.\n",
"Maak eerst een dictionary waarin de categorieën de keys zijn en de namen van de jpg's de data. \n",
"Tip: lezen van file\n",
" \n",
" with open('file_to_read.txt', 'r') as open_file:\n",
" all_text = open_file.read()\n",
" line = open_file.readline() \n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### MatplotLib"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_Oefening 7_ : Plot voor oefening 5 en 6 een histogram met de telresultaten. Voor oefening 5 wordt het aantal jarigen per maand geplot. Voor oefening 6 het aantal jpg's per categorie. Beperk je bij deze laatste tot een 10-tal categorieën. Maak hierbij gebruik van de MatplotLib module.\n",
"Tip: https://www.machinelearningplus.com/plots/matplotlib-tutorial-complete-guide-python-plot-examples/"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}