#author("2020-10-23T10:25:53+09:00","default:takataka","takataka") * 応用プログラミング及び実習 2020年度 ex05 [#xa9b83a6] &color(red){''工事中''}; #contentsx ** ex05A [#kadaiA] [[ex05kadaiA.ipynb>https://gist.github.com/69e48cac7cc215031c36f7729eecb208]] + 上記のリンク先から notebook ファイルをダウンロードして開く -- リンク先の画面右の方の「Raw」を ''右'' クリックして「リンク先を別名で保存」とかそんなん + そこに記された指示にしたがって notebook を編集して保存 + その notebook ファイルを以下の提出場所へ提出 (工事中)提出場所: [[この授業のMoodleコース>https://moodle.media.ryukoku.ac.jp/course/view.php?id=2278]] の [[ex05A>https://moodle.media.ryukoku.ac.jp/mod/assign/view.php?id=71984]] ** ex05B [#kadaiB] ex05A のつづきで,文字列を入力したら単語内の文字をひっくり返して出力してくれるプログラムを作りましょう. 名前は ex05reverse.py としてください(''名前間違えないように''). *** step1 [#je16fba9] 文字列を一つ受け取ってそれを逆順にする処理を考えましょう. プログラム中に次のような関数を定義して,適当な文字列で動作確認してください. - 関数名: reverseWord - 引数: 一つ,文字列だと仮定(文字列じゃないものが渡されたときのエラー処理は考えなくてよい) - 戻り値: 引数で渡された文字列を逆順にした文字列 例えば, reverseWord('ほげ') の戻り値は 'げほ' となります. #pre{{ for s in L2: print(reverseWord(s)) }} の実行結果は #pre{{ あ うい かおえ こけくき }} です. ヒント: 関数の中身は実はめっちゃ単純.「ex05 Notebook その3」思い出そう. *** step2 [#u5a410d8] 次のような関数 reverseSentence() の定義を書いて,動作確認しよう. - 関数名は reverseSentence - 引数は1つ(文字列),戻り値は文字列 - 実行例(1) S1 = " ぼく ほげお \tほげ ほげ〜\n” R1 = reverseSentence(S1) print(R1) くぼ おげほ げほ 〜げほ - 実行例(2) print(reverseSentence("sihT si a .nep")) This is a pen. - ヒント: ++ 部分文字列ごとに reverseWord ++ これで何が起こるか試してみたらよいかも S1[2] = reverseWord(S1[2]) *** step3 [#l0f62b73] プログラムの末尾に,次のようなコードを挿入して実行しよう.読み込むファイルはこちら: [[ex05msg.txt>AProg:ex05msg.txt]] #pre{{ fn = "ex05msg.txt" with open(fn, "r", encoding="utf-8") as f: # ファイル名 fn のファイルを読み込みモードで開く for line in f: # ファイルから1行ずつ読み込んでループ print(line) # そのまま表示 }} 上記の for 文の中を修正して,読み込んだファイルの各行に reverseSentence() を適用した結果を出力するようにしてください. //&size(8){なんかのりでほげおに新たな設定が爆誕...}; *** step4 [#p8f8df2e] プログラムの末尾に次のコードを追加し,文字列を自分の情報に書き換えて動作確認しましょう. 確認できたら,提出しましょう. #pre{{ myID = "A01055 ほげ ほげお" # 学籍番号,姓,名を空白区切りで print(reverseSentence(reverseSentence(myID)) }} (工事中)提出場所: [[この授業のMoodleコース>https://moodle.media.ryukoku.ac.jp/course/view.php?id=2278]] の [[ex05B>https://moodle.media.ryukoku.ac.jp/mod/assign/view.php?id=71985]] **ex04S (omake) [#kadaiS] //&color(#ff0000){工事中}; &color(red){''これはおまけ課題です.やらなくても減点はありません.やったら棒茄子?''}; [[ex04kadaiS.ipynb>https://gist.github.com/8a25200c4876bff44f470f24d2886a73]] - 上記の notebook を開き,その指示にしたがって編集・実行してください - 仕上げた notebook ファイルを提出してください - 提出場所: Classroom 上の [[こちら>https://classroom.google.com/c/MTYxODQ4NzczNzgy/a/MTkwNjMyNjYzODk5/details]] (ファイルをここに提出したら,Teams のチャットで知らせてね) - 期限: 1027火の授業終了時 この課題のねらい: - Pythonで初歩的なデータ分析を経験してみる - ネット上のリファレンス等の情報を自分で収集してプログラムを書く経験をする