Skip to content

Instantly share code, notes, and snippets.

@takatakamanbou
Last active October 5, 2020 07:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save takatakamanbou/0201d379f362095174583f5e2dbec29a to your computer and use it in GitHub Desktop.
Save takatakamanbou/0201d379f362095174583f5e2dbec29a to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"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