Skip to content

Instantly share code, notes, and snippets.

@raryo
Last active June 9, 2020 04:26
Show Gist options
  • Save raryo/616d5b8b1b4b0aeaf2ae07d71020c232 to your computer and use it in GitHub Desktop.
Save raryo/616d5b8b1b4b0aeaf2ae07d71020c232 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 2.Python入門の演習問題\n",
"\n",
"### 問2.1 組み込み関数 9:38~"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"len:5, max:8, min:1, sum:20, sort:[1, 3, 4, 4, 8]\n"
]
}
],
"source": [
"def FUNC(a):\n",
" return f'len:{len(a)}, max:{max(a)}, min:{min(a)}, sum:{sum(a)}, sort:{sorted(a)}'\n",
"\n",
"a = [4, 8, 3, 4, 1]\n",
"res = FUNC(a)\n",
"print(res)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 問2.2 演算"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5.0, type:<class 'float'> <- 1.2 + 3.8\n",
"0, type:<class 'int'> <- 10 // 100\n",
"True, type:<class 'bool'> <- 1 >= 0\n",
"True, type:<class 'bool'> <- 'Hello World' == 'Hello World'\n",
"False, type:<class 'bool'> <- not 'Chainer' != 'Tutorial'\n",
"False, type:<class 'bool'> <- all([True, True, False])\n",
"True, type:<class 'bool'> <- any([True, True, False])\n",
"3, type:<class 'int'> <- abs(-3)\n"
]
},
{
"ename": "ZeroDivisionError",
"evalue": "integer division or modulo by zero",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mZeroDivisionError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-41-5a77ac29cef3>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0mptype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"any([True, True, False])\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# True, bool\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0mptype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"abs(-3)\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# 3, int,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0mptype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"2 // 0\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# devided by zero\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-41-5a77ac29cef3>\u001b[0m in \u001b[0;36mptype\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mptype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mret\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0meval\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf'{ret}, type:{type(ret)} <- {x}'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mptype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'1.2 + 3.8'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# 5.0, float\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m<string>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n",
"\u001b[0;31mZeroDivisionError\u001b[0m: integer division or modulo by zero"
]
}
],
"source": [
"def ptype(x):\n",
" ret = eval(x)\n",
" print(f'{ret}, type:{type(ret)} <- {x}')\n",
" \n",
"ptype('1.2 + 3.8') # 5.0, float\n",
"ptype('10 // 100') # 0, int\n",
"ptype('1 >= 0') # True, bool\n",
"ptype(\"'Hello World' == 'Hello World'\") # True, bool\n",
"ptype(\"not 'Chainer' != 'Tutorial'\") # True, bool\n",
"ptype(\"all([True, True, False])\") # False, bool\n",
"ptype(\"any([True, True, False])\") # True, bool \n",
"ptype(\"abs(-3)\") # 3, int, \n",
"ptype(\"2 // 0\") # Zero devided err"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Q2.3 list "
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [],
"source": [
"a=[4, 8, 3, 4, 1]"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[8, 3, 4, 1]"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#1 \n",
"a[1:]"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"[4, 8, 3]"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#2\n",
"a[:len(a)]"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[4, 8, 3, 4, 1, 100]"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#3\n",
"a + [100]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 問2.4 リスト内包表記"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0, 0, 1, 0, 1]\n",
"2\n",
"2\n",
"[3, 1]\n"
]
}
],
"source": [
"#1\n",
"a=[4, 8, 3, 4, 1]\n",
"print([aa%2 for aa in a])\n",
"\n",
"#2\n",
"print(sum([aa%2 for aa in a]))\n",
"print(len([aa for aa in a if aa%2]))\n",
"\n",
"#3\n",
"print([aa for aa in a if aa%2])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Q2.5 Strings"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"'0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99'"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#1 \n",
"\" \".join(map(str, range(0, 100)))"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'0.142857143'"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#2\n",
"\"{:.9f}\".format(1.0/7.0)"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.142857143\n"
]
}
],
"source": [
"x = 1.0 / 7.0\n",
"print(f'{x:.9f}')"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100\n"
]
}
],
"source": [
"from decimal import *\n",
"import re\n",
"getcontext().prec = 298\n",
"\n",
"data = Decimal(1000) / Decimal(999**2) #計算部分\n",
"data = (str(data).split(\".\")[1])\n",
"\n",
"print(\" \".join(re.findall(r'...', data))) #分割+出力部分"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Q1.6 Class"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"class DataManager():\n",
" def __init__(self, x, y, z):\n",
" self.x = x\n",
" self.y = y\n",
" self.z = z\n",
" \n",
" def add_x(self, v, delta):\n",
" self.x += delta\n",
" \n",
" def add_y(self, delta):\n",
" self.y += delta\n",
" \n",
" def add_z(self, delta):\n",
" self.z += delta \n",
" \n",
" def sum(self):\n",
" return self.x + self.y + self.z"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10\n",
"14\n",
"14\n",
"5\n"
]
}
],
"source": [
"data_manager = DataManager(2, 3, 5)\n",
"print(data_manager.sum()) # => 10\n",
"data_manager.add_x(4) # => data_manager.x の値が 2 から 6 に更新される\n",
"print(data_manager.sum()) # => 14\n",
"data_manager.add_y(0) # => data_manager.y の値が 3 から 3 に更新される\n",
"print(data_manager.sum()) # => 14\n",
"data_manager.add_z(-9) # => data_manager.z の値が 5 から -4 に更新される\n",
"print(data_manager.sum()) # => 5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Q2.7"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1, 2, 3]\n",
"[1, 2, 3, 1]\n"
]
}
],
"source": [
"def f(a):\n",
" a = [6, 7, 8]\n",
"\n",
"def g(a):\n",
" a.append(1)\n",
" \n",
"def somefunction():\n",
" a0 = [1, 2, 3]\n",
" f(a0)\n",
" print(a0)\n",
"\n",
" a1 = [1, 2, 3]\n",
" g(a1)\n",
" print(a1)\n",
"\n",
"somefunction() # print(a0) -> [1,2,3];;; print(a1) -> [1,2,3,1]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"関数`f`内に定義されている`a`は関数内のローカル変数であるため、`a0`関数`sumfunction`には作用しない。\n",
"関数`g`引数`a`にリスト`a1`が渡され、`append`関数により要素が加えられているが、`append`関数は破壊的操作のため引数に渡した`a1`に作用する"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Q2.8 if-for"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 "
]
}
],
"source": [
"for c in range(2, 101):\n",
" is_prime = sum([c % k==0 for k in range(2, c+1)])\n",
" if is_prime == 1:\n",
" print(c, end=' ')\n",
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 100 numpy exercises"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {},
"outputs": [],
"source": [
"#1\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"('1.16.4',\n",
" <module 'numpy.__config__' from '/usr/local/lib/python3.7/site-packages/numpy/__config__.py'>)"
]
},
"execution_count": 85,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#2\n",
"np.__version__, np.__config__"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])"
]
},
"execution_count": 100,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#3\n",
"np.zeros(10)"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"24"
]
},
"execution_count": 94,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#4\n",
"arr = np.array([0, 1, 2])\n",
"arr.itemsize * arr.size"
]
},
{
"cell_type": "code",
"execution_count": 286,
"metadata": {},
"outputs": [],
"source": [
"#5\n",
"#help(np.add)"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0., 0., 0., 0., 1., 0., 0., 0., 0., 0.])"
]
},
"execution_count": 101,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#6 Create a null vector of size 10 but the fifth value which is 1 (★☆☆)\n",
"arr = np.zeros(10)\n",
"arr[4] = 1\n",
"arr"
]
},
{
"cell_type": "code",
"execution_count": 102,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,\n",
" 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,\n",
" 44, 45, 46, 47, 48, 49])"
]
},
"execution_count": 102,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#7 Create a vector with values ranging from 10 to 49\n",
"np.arange(10, 50)"
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([4, 3, 2, 1])"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#8 Reverse a vector (first element becomes last) \n",
"arr = np.arange(1, 5)\n",
"arr[::-1]"
]
},
{
"cell_type": "code",
"execution_count": 113,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[0, 1, 2],\n",
" [3, 4, 5],\n",
" [6, 7, 8]])"
]
},
"execution_count": 113,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#9 Create a 3x3 matrix with values ranging from 0 to 8\n",
"arr = np.arange(0, 9)\n",
"np.reshape(arr, (3, 3))"
]
},
{
"cell_type": "code",
"execution_count": 230,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2"
]
},
"execution_count": 230,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#10 Find indices of non-zero elements from [1,2,0,0,4,0]\n",
"arr = [1, 2, 0, 0, 4, 0]\n",
"arr[arr!=0]"
]
},
{
"cell_type": "code",
"execution_count": 233,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([[1., 0., 0.],\n",
" [0., 1., 0.],\n",
" [0., 0., 1.]]), array([[1., 0., 0.],\n",
" [0., 1., 0.],\n",
" [0., 0., 1.]]))"
]
},
"execution_count": 233,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#11 Create a 3x3 identity matrix\n",
"np.identity(3), np.eye(3)"
]
},
{
"cell_type": "code",
"execution_count": 124,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[[0.82364558, 0.97971559, 0.19507914],\n",
" [0.23235363, 0.39651818, 0.28378136],\n",
" [0.35125597, 0.62737491, 0.79292767]],\n",
"\n",
" [[0.87225014, 0.59071296, 0.05076891],\n",
" [0.63307031, 0.93570602, 0.41033451],\n",
" [0.48213109, 0.05261458, 0.2482121 ]],\n",
"\n",
" [[0.05068198, 0.14415422, 0.12568984],\n",
" [0.55631122, 0.96098087, 0.29417321],\n",
" [0.82768959, 0.79003356, 0.48266527]]])"
]
},
"execution_count": 124,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#12 Create a 3x3x3 array with random values\n",
"np.random.random((3,3,3))"
]
},
{
"cell_type": "code",
"execution_count": 132,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[78 94 33 92 42 59 88 53 17 15]\n",
" [24 34 16 29 13 18 46 37 30 30]\n",
" [55 56 50 85 34 87 58 37 45 97]\n",
" [78 9 45 25 62 89 51 15 50 60]\n",
" [80 68 99 3 19 44 96 11 73 81]\n",
" [44 42 92 68 70 82 22 72 73 3]\n",
" [83 74 51 10 35 59 40 6 77 47]\n",
" [64 94 45 98 6 59 36 64 75 22]\n",
" [34 75 2 54 94 46 89 35 25 32]\n",
" [ 1 8 44 66 75 7 45 90 9 83]]\n"
]
},
{
"data": {
"text/plain": [
"(1, 99)"
]
},
"execution_count": 132,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#13 Create a 10x10 array with random values and find the minimum and maximum values \n",
"mat = np.random.randint(1, high=100, size=(10,10))\n",
"print(mat)\n",
"mat.min(), mat.max()"
]
},
{
"cell_type": "code",
"execution_count": 234,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.0000016832209688"
]
},
"execution_count": 234,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#14 Create a random vector of size 30 and find the mean value\n",
"np.random.normal(1, 0.00001, (30,)).mean()"
]
},
{
"cell_type": "code",
"execution_count": 235,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[1., 1., 1., 1., 1.],\n",
" [1., 0., 0., 0., 1.],\n",
" [1., 0., 0., 0., 1.],\n",
" [1., 0., 0., 0., 1.],\n",
" [1., 1., 1., 1., 1.]])"
]
},
"execution_count": 235,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#15 Create a 2d array with 1 on the border and 0 inside \n",
"mat = np.zeros((5, 5))\n",
"mat[0], mat[-1], mat[:, 0], mat[:, -1] = [1] * 4\n",
"mat"
]
},
{
"cell_type": "code",
"execution_count": 238,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[0., 0., 0., 0., 0., 0., 0.],\n",
" [0., 1., 1., 1., 1., 1., 0.],\n",
" [0., 1., 1., 1., 1., 1., 0.],\n",
" [0., 1., 1., 1., 1., 1., 0.],\n",
" [0., 1., 1., 1., 1., 1., 0.],\n",
" [0., 1., 1., 1., 1., 1., 0.],\n",
" [0., 0., 0., 0., 0., 0., 0.]])"
]
},
"execution_count": 238,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#15 yamagichi\n",
"outer = np.ones((5, 5))\n",
"np.pad(outer, (1, 1), 'constant')"
]
},
{
"cell_type": "code",
"execution_count": 154,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"16.0"
]
},
"execution_count": 154,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#16 How to add a border (filled with 0's) around an existing array? \n",
"mat.sum()"
]
},
{
"cell_type": "code",
"execution_count": 157,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(nan, False, False, nan, True, False)"
]
},
"execution_count": 157,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#17 What is the result of the following expression?\n",
"0 * np.nan, np.nan == np.nan, np.inf > np.nan, np.nan - np.nan, np.nan in set([np.nan]), 0.3 == 3 * 0.1"
]
},
{
"cell_type": "code",
"execution_count": 160,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[0., 0., 0., 0., 0.],\n",
" [0., 1., 0., 0., 0.],\n",
" [0., 0., 2., 0., 0.],\n",
" [0., 0., 0., 3., 0.],\n",
" [0., 0., 0., 0., 4.]])"
]
},
"execution_count": 160,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#18 Create a 5x5 matrix with values 1,2,3,4 just below the diagonal\n",
"np.identity(5) * np.arange(0, 5)"
]
},
{
"cell_type": "code",
"execution_count": 241,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[0., 0., 0., 0., 0.],\n",
" [0., 1., 0., 0., 0.],\n",
" [0., 0., 2., 0., 0.],\n",
" [0., 0., 0., 3., 0.],\n",
" [0., 0., 0., 0., 4.]])"
]
},
"execution_count": 241,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 18 machii\n",
"np.diag(np.arange(0., 5.))"
]
},
{
"cell_type": "code",
"execution_count": 242,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[1., 0., 1., 0., 1., 0., 1., 0.],\n",
" [0., 1., 0., 1., 0., 1., 0., 1.],\n",
" [1., 0., 1., 0., 1., 0., 1., 0.],\n",
" [0., 1., 0., 1., 0., 1., 0., 1.],\n",
" [1., 0., 1., 0., 1., 0., 1., 0.],\n",
" [0., 1., 0., 1., 0., 1., 0., 1.],\n",
" [1., 0., 1., 0., 1., 0., 1., 0.],\n",
" [0., 1., 0., 1., 0., 1., 0., 1.]])"
]
},
"execution_count": 242,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#19 Create a 8x8 matrix and fill it with a checkerboard pattern \n",
"mat = np.zeros((8, 8))\n",
"mat[::2][:, ::2] = 1\n",
"mat[1::2][:, 1::2] = 1\n",
"mat"
]
},
{
"cell_type": "code",
"execution_count": 276,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[1., 0., 1., 0., 1., 0., 1., 0.],\n",
" [0., 1., 0., 1., 0., 1., 0., 1.],\n",
" [1., 0., 1., 0., 1., 0., 1., 0.],\n",
" [0., 1., 0., 1., 0., 1., 0., 1.],\n",
" [1., 0., 1., 0., 1., 0., 1., 0.],\n",
" [0., 1., 0., 1., 0., 1., 0., 1.],\n",
" [1., 0., 1., 0., 1., 0., 1., 0.],\n",
" [0., 1., 0., 1., 0., 1., 0., 1.]])"
]
},
"execution_count": 276,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#19 \n",
"np.vstack(mat[[[i,j] for i in np.arange(0,8) for j in np.arange(0, 8) if (i+j)%2==1]][:4])"
]
},
{
"cell_type": "code",
"execution_count": 228,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/plain": [
"(1, 5, 4, 100)"
]
},
"execution_count": 228,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#20\n",
"mat = np.arange(0, 6*7*8).reshape((6, 7, 8))\n",
"x = 100 // (8*7)\n",
"y = 100 // 8 - 7 *x\n",
"z = 100 % 8\n",
"x, y, z, mat[x, y, z]"
]
},
{
"cell_type": "code",
"execution_count": 216,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[[ 0, 1, 2, 3, 4, 5, 6, 7],\n",
" [ 8, 9, 10, 11, 12, 13, 14, 15],\n",
" [ 16, 17, 18, 19, 20, 21, 22, 23],\n",
" [ 24, 25, 26, 27, 28, 29, 30, 31],\n",
" [ 32, 33, 34, 35, 36, 37, 38, 39],\n",
" [ 40, 41, 42, 43, 44, 45, 46, 47],\n",
" [ 48, 49, 50, 51, 52, 53, 54, 55]],\n",
"\n",
" [[ 56, 57, 58, 59, 60, 61, 62, 63],\n",
" [ 64, 65, 66, 67, 68, 69, 70, 71],\n",
" [ 72, 73, 74, 75, 76, 77, 78, 79],\n",
" [ 80, 81, 82, 83, 84, 85, 86, 87],\n",
" [ 88, 89, 90, 91, 92, 93, 94, 95],\n",
" [ 96, 97, 98, 99, 100, 101, 102, 103],\n",
" [104, 105, 106, 107, 108, 109, 110, 111]],\n",
"\n",
" [[112, 113, 114, 115, 116, 117, 118, 119],\n",
" [120, 121, 122, 123, 124, 125, 126, 127],\n",
" [128, 129, 130, 131, 132, 133, 134, 135],\n",
" [136, 137, 138, 139, 140, 141, 142, 143],\n",
" [144, 145, 146, 147, 148, 149, 150, 151],\n",
" [152, 153, 154, 155, 156, 157, 158, 159],\n",
" [160, 161, 162, 163, 164, 165, 166, 167]],\n",
"\n",
" [[168, 169, 170, 171, 172, 173, 174, 175],\n",
" [176, 177, 178, 179, 180, 181, 182, 183],\n",
" [184, 185, 186, 187, 188, 189, 190, 191],\n",
" [192, 193, 194, 195, 196, 197, 198, 199],\n",
" [200, 201, 202, 203, 204, 205, 206, 207],\n",
" [208, 209, 210, 211, 212, 213, 214, 215],\n",
" [216, 217, 218, 219, 220, 221, 222, 223]],\n",
"\n",
" [[224, 225, 226, 227, 228, 229, 230, 231],\n",
" [232, 233, 234, 235, 236, 237, 238, 239],\n",
" [240, 241, 242, 243, 244, 245, 246, 247],\n",
" [248, 249, 250, 251, 252, 253, 254, 255],\n",
" [256, 257, 258, 259, 260, 261, 262, 263],\n",
" [264, 265, 266, 267, 268, 269, 270, 271],\n",
" [272, 273, 274, 275, 276, 277, 278, 279]],\n",
"\n",
" [[280, 281, 282, 283, 284, 285, 286, 287],\n",
" [288, 289, 290, 291, 292, 293, 294, 295],\n",
" [296, 297, 298, 299, 300, 301, 302, 303],\n",
" [304, 305, 306, 307, 308, 309, 310, 311],\n",
" [312, 313, 314, 315, 316, 317, 318, 319],\n",
" [320, 321, 322, 323, 324, 325, 326, 327],\n",
" [328, 329, 330, 331, 332, 333, 334, 335]]])"
]
},
"execution_count": 216,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mat"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.7.4 64-bit",
"language": "python",
"name": "python37464bita035101807a046a0bf85be8625188e90"
},
"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.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment