Last active
October 5, 2020 07:53
-
-
Save takatakamanbou/0201d379f362095174583f5e2dbec29a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "qqyvt9JCC8Sc" | |
}, | |
"source": [ | |
"# AProg2020 ex02 課題A\n", | |
"\n", | |
"https://www-tlab.math.ryukoku.ac.jp/wiki/?AProg/2020/ex02#kadaiA" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## 準備\n", | |
"以下のセルの内容を指示通り修正して実行してください.指示に従っていない場合,課題のチェックはされません." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"ename": "AssertionError", | |
"evalue": "", | |
"output_type": "error", | |
"traceback": [ | |
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", | |
"\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", | |
"\u001b[0;32m<ipython-input-1-6eb7f89973c6>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 9\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0mtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmyID\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mstr\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmyID\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 10\u001b[0m \u001b[0;32massert\u001b[0m \u001b[0mdidItMyself\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", | |
"\u001b[0;31mAssertionError\u001b[0m: " | |
] | |
} | |
], | |
"source": [ | |
"myID = '' # この変数に文字列として自分の学籍番号を書く\n", | |
"# この notebook を自分のPC環境で自分がやったというひとは, \n", | |
"# 以下の False を True に書き換える\n", | |
"didItMyself = False\n", | |
"\n", | |
"### このセルのここから下はいじってはいけません ###\n", | |
"\n", | |
"\n", | |
"assert type(myID) == str and len(myID) > 0\n", | |
"assert didItMyself\n", | |
"\n", | |
"import sys\n", | |
"import os\n", | |
"import getpass\n", | |
"print(sys.platform)\n", | |
"print(getpass.getuser())\n", | |
"print(os.getcwd())\n", | |
"print(myID)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "psZsyh_gI4Hu" | |
}, | |
"source": [ | |
"## (あ)\n", | |
"\n", | |
"次のセルを実行すると以下の出力が得られるように,セル中のコードを修正しなさい.\n", | |
"```\n", | |
"['参', 4, '五', 6, 7]\n", | |
"[0, 1, 2.0, '参']\n", | |
"[4, '五', 6, 7, 'はち', 9, 10]\n", | |
"```" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "jnFX-CbTIZB3" | |
}, | |
"outputs": [], | |
"source": [ | |
"L2 = [ 0, 1, 2.0, \"参\", 4, \"五\", 6, 7, \"はち\", 9, 10]\n", | |
"print(L2)\n", | |
"print(L2) # スライスに指定する値の片方を省略した書き方にすること\n", | |
"print(L2) # スライスに指定する値の片方を省略した書き方にすること" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "fBa6JqxdRu4b" | |
}, | |
"source": [ | |
"## (い)\n", | |
"次のセルを実行するとエラーになる.これを修正して,`10月は31日あるよ`と出力されるようにしなさい.print文中にベタに `10月は31日あるよ` とか書くのはNG.文字列に対する`+`演算子と型変換の関数を使う練習なので,`print(10, '月は', 31, '日あるよ')` みたいなのもNG." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "Z3Pk8TZcC2YS" | |
}, | |
"outputs": [], | |
"source": [ | |
"m = 10 # この行はいじってはいけない\n", | |
"d = 31 # この行はいじってはいけない\n", | |
"print(m + '月は' + d + '日あるよ')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "t5wwjwU3fE7Q" | |
}, | |
"source": [ | |
"(余談) 以下のようなやり方もあります(この問題の趣旨にそぐわないので,以下の様なのをこの問題の解答に書いてもNGとします,使うなら他の機会でどぞ) \n", | |
"\n", | |
"```\n", | |
"print('{0}月は{1}日あるよ'.format(m, d)) # 文字列の format メソッドを使う p.177\n", | |
"print(f'{m}月は{d}日あるよ') # 「f文字列」を使う(Python3.6以降) p.181\n", | |
"```" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "NBxEMSeJF5Y4" | |
}, | |
"source": [ | |
"## (う)\n", | |
"\n", | |
"次のセルの実行結果が以下になるように,セル中のコードを修正しなさい.\n", | |
"\n", | |
"```\n", | |
"1月は31日あるよ\n", | |
"2月は28日あるよ\n", | |
"3月は31日あるよ\n", | |
"4月は30日あるよ\n", | |
"5月は31日あるよ\n", | |
"6月は30日あるよ\n", | |
"7月は31日あるよ\n", | |
"8月は31日あるよ\n", | |
"9月は30日あるよ\n", | |
"10月は31日あるよ\n", | |
"11月は30日あるよ\n", | |
"12月は31日あるよ\n", | |
"```" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "9BSAIvLIE9pn" | |
}, | |
"outputs": [], | |
"source": [ | |
"numDays = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\n", | |
"\n", | |
"# range関数に引数を2つ渡すとどうなるかは,教科書 p.197 参照\n", | |
"for m in range(1, 11):\n", | |
" print(m + '月は' + m + '日あるよ')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "Qfd0w6wrSgM9" | |
}, | |
"source": [ | |
"## (え)\n", | |
"以下のセルを実行すると変数 `sum` に\n", | |
"$$ \\sum_{k=1}^{N} (3k^2 - 3k + 1) $$\n", | |
"の値が代入されるように,セルに for 文を使ったコードを追加しなさい. `N = 8` のときの結果は `512`,`N = 10` のときは `1000`, `N = 100` のときは `1000000`...\n", | |
"\n", | |
"(余談)\n", | |
"$$ \\sum_{k=1}^{N} (3k^2 - 3k + 1) = 3\\sum_{k=1}^{N}k^2 - 3\\sum_{k=1}^{N}k + N = ...$$" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "vjE7nBw3LuDI" | |
}, | |
"outputs": [], | |
"source": [ | |
"N = 8\n", | |
"sum = 0\n", | |
"\n", | |
"\n", | |
"print(sum)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "n3_TRO19E0T0" | |
}, | |
"source": [ | |
"## (お)\n", | |
"\n", | |
"以下のセルを実行すると,次の出力が得られるように,セル中のコードを修正しなさい. 2重の for 文を使いましょう.変数 `Pascal` の値を書き換えてはいけない.\n", | |
"\n", | |
"```\n", | |
"1 \n", | |
"1 2 1 \n", | |
"1 3 3 1 \n", | |
"1 4 6 4 1 \n", | |
"1 5 10 10 5 1\n", | |
"```" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "mNZvoE_uC6Hd" | |
}, | |
"outputs": [], | |
"source": [ | |
"Pascal = [\n", | |
" [1],\n", | |
" [1, 2, 1],\n", | |
" [1, 3, 3, 1],\n", | |
" [1, 4, 6, 4, 1],\n", | |
" [1, 5, 10, 10, 5, 1],\n", | |
"]\n", | |
"\n", | |
"for x in Pascal:\n", | |
" print(x)\n", | |
" print()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "LL6j1Yg3U--j" | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"colab": { | |
"collapsed_sections": [], | |
"name": "ex02kadaiA.ipynb", | |
"provenance": [] | |
}, | |
"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.8.5" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment