python-pour-finance/01-Python-cours-accéléré/Python Cours Accéléré Ex...

445 lines
9.3 KiB
Plaintext
Raw Permalink 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": [
"# Python Cours Accéléré - Exercices\n",
"\n",
"Cet exercice est facultatif, il permet de tester votre niveau Python. Les questions traitent au maximum le thème financier, mais ne vous attardez pas sur ces tâches, beaucoup dentre elles nont aucune signification et nont pas de sens. Si vous trouvez cela extrêmement difficile, vous n'êtes probablement pas encore prêt pour le reste de ce cours et n'avez pas assez d'expérience en programmation pour continuer. Je vous suggère de prendre un autre cours plus orienté vers les débutants complets, tels que [Formation complète Python](https://www.udemy.com/course/python-datascience/?referralCode=9DB381B321631A0703C2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exercices\n",
"\n",
"Répondez aux questions ou effectuez les exercices en gras ci-dessous, utilisez la méthode spécifique décrite le cas échéant."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercice #1\n",
"\n",
"Soit un prix donné price = 300, utilisez python pour trouver la raciné carrée du prix."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"price = 300"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"17.320508075688775"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": []
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"17.320508075688775"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercice #2\n",
"\n",
"Soit la chaîne de caractères :\n",
"\n",
" stock_index = \"SP500\"\n",
" \n",
"Extraire '500' de la chaîne de caractères à l'aide de la méthode d'indexation."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"stock_index = \"SP500\""
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'500'"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercice #3\n",
"\n",
"**Soient les variables :**\n",
"\n",
" stock_index = \"SP500\"\n",
" price = 300\n",
"\n",
"**Utilisez .format() pour afficher la phrase suivante :**\n",
"\n",
" Le SP500 est à 300 aujourd'hui."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"stock_index = \"SP500\"\n",
"price = 300"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Le SP500 est à 300 aujourd'hui\n"
]
}
],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercice #4\n",
"\n",
"**Soit la variable d'un dictionnaire imbriqué avec les listes imbriquées suivantes :**\n",
"\n",
" stock_info = {'sp500':{'today':300,'yesterday': 250}, 'info':['Time',[24,7,365]]}\n",
" \n",
"**Utilisez l'indexation et les clés correspondantes pour extraire les éléments suivants :**\n",
"\n",
"* Le prix du SP500 d'hier (250)\n",
"* Le nombre 365 imbriqué à l'intérieur d'une liste imnbriquée au niveau de la clé 'info'."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"stock_info = {'sp500':{'today':300,'yesterday': 250}, 'info':['Time',[24,7,365]]}"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"250"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": []
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"365"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercice #5\n",
"\n",
"**Soient des chaînes de caractères données avec cette forme où la dernière valeur source est toujours séparée par 2 tirets --**\n",
"\n",
" \"PRICE:345.324:SOURCE--QUANDL\"\n",
" \n",
"**Créer une fonction nommée source_finder() qui retourne la source. Par exemple, la chaîne de caractères ci-dessus passée en argument dans la fonction devrait retourner \"QUANDL\"**"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'QUANDL'"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"source_finder(\"PRICE:345.324:SOURCE--QUANDL\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercice #6\n",
"\n",
"**Créer une fonction nommée price_finder() qui retourne True si le mot 'prix' est dans la chaîne de caractères. Votre fonction doit fonctionner même si 'Prix' commence par une majuscule ou suivi directement d'une ponctuation ('prix!')**"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"price_finder(\"Quel est le prix?\")"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"price_finder(\"MEC, QUEL EST LE PRIX!!!\")"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"price_finder(\"Le prix est 300\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercice #7\n",
"\n",
"**Créer une fonction nommée count_price() qui compte le nombre de fois que le mot \"prix\" apparaît dans la chaîne de caractères. Prendre en compte la majuscule et si le mot \"prix\" est proche d'une ponctuation.**"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"s = \"Wow quel bon prix, très très bon Prix! J'ai dit prix 3 fois.\""
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"count_price(s)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercice #8\n",
"\n",
"**Créer une fonction nommée avg_price qui prend en paramètre une liste de nombres (prix d'action) et en calcule la moyenne (somme de tous les nombres divisée par le nombre d'éléments de la liste). Cela doit retourner un décimal float.**"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4.0"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"avg_price([3,4,5])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Bon Travail!"
]
}
],
"metadata": {
"anaconda-cloud": {},
"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.7"
}
},
"nbformat": 4,
"nbformat_minor": 1
}