Table of Contents |
notebook のセルを実行していると,たまにセルの番号のところが [*] となったままで反応が返ってこなくなるときがあります. ありがちな状況と対処法を書いときます
注意: 文章をきちんと読んでもらえばわかりますが, P2 のところに書いてある「文字列を入力したら,単語内の文字をひっくり返して出力してくれるようにする問題を考えます」というのは,P2の最終目標ではなく,この課題と次の課題(ex05B)全体での目標です. P2 で(またはP4までで)「文字列を入力したら,単語内の文字をひっくり返して出力してくれる」処理を完成させろと言っているわけではありません.
提出場所: この科目の Moodle コース の「ex05課題A」
ex05A のつづきで,文字列を入力したら単語内の文字をひっくり返して出力してくれるプログラムを作りましょう. 名前は ex05reverse.py としてください(名前間違えないように).
次のような関数 reverseSentence() の定義を書いて,動作確認しよう.
S1 = " ぼく ほげお \tほげ ほげ〜\n" R1 = reverseSentence(S1) print(R1) くぼ おげほ げほ 〜げほ
print(reverseSentence("sihT si a .nep")) This is a pen.
プログラムの末尾に,次のコードを挿入して実行しよう.読み込むファイルはこちら: ex05msg.txt
fn = "ex05msg.txt" with open(fn, "r", encoding="utf-8") as f: # ファイル名 fn のファイルを読み込みモードで開く for line in f: # ファイルから1行ずつ読み込んでループ print(line) # そのまま表示
上記の for 文の中を修正して,読み込んだファイルの各行に reverseSentence() を適用した結果を出力するようにしてください.
プログラムの末尾に次のようなコードを追加して動作確認しましょう(姓名や学籍番号は自分ので). 確認できたら,提出しましょう.
myID = "A01055 ほげ ほげお" # 学籍番号,姓,名を空白区切りで print(reverseSentence(reverseSentence(myID)))
提出場所: この科目の Moodle コース の「ex05課題B」
これはおまけ課題です.やらなくても減点はありません.やったら棒茄子?
画像処理してみよう
pip3 install opencv-python
import cv2 # OpenCV モジュール # 画像の読み込み img = cv2.imread('blackuni3.png') if img is None: print('File Not Found') print(img.shape) # 正しく読み込めたら, img は NumPy の3次元配列になる(カラーの場合) # 画像を表示 cv2.imshow("hoge", img) cv2.waitKey(0) # 画像を表示したウィンドウ内で何かキーが押されるまで待つ # 画像を書き込み cv2.imwrite("hoge.png", img)
(おまけのおまけ)カメラ付きのPCまたはウェブカメラを持ってるひとは,以下のプログラムを実行してみるとよいでしょう.
import cv2 cap = cv2.VideoCapture(0) while(True): rv, frame = cap.read() cv2.imshow('hoge', frame) if cv2.waitKey(1) == ord('q'): break cap.release() cv2.destroyAllWindows()