5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
沖津さんの投稿
(投稿ID: 5371)
と思ったのですが…
daysから年齢を割り出すのは
うるう年を考えると計算が難しくて断念しました💦
別の方法ですが、
なんとか無理やり計算することに成功したのでうれしいです😊
ちなみに誕生日はうちの犬の誕生日です。
小川 慶一さんのコメント
(コメントID: 7742)
日付を扱うのであれば、 datetime 型でなく date 型を使う方が良いでしょう。
沖津さんのコメント
(コメントID: 7746)
ありがとうございます😊
小川 慶一さんのコメント
(コメントID: 7757)
藤本 博子さんのコメント
(コメントID: 7761)
はじめまして。藤本と申します。
サンプルコードの掲載ありがとうございます。
誕生日と今日の日付を、年・月・日に分割して条件分岐するのですね。
大変参考になりました。ありがとうございます。
犬さんの誕生日なのですね(#^.^#)
以前、実務で年齢と月齢を算出する表を作成していたので、pythonでもコードを書いてみようと思いました。
沖津さんのコードが参考になりました。
ありがとうございます。
藤本 博子さんのコメント
(コメントID: 7762)
input関数で入力する形式
誤り "yy/m/d"
正しい "yyyy/m/d で入力してください”の間違えでした。
大変失礼しました。
たかちゃんさんのコメント
(コメントID: 7775)
面白いですね。
私も練習で書いてみようと思います。(^^)
沖津さんのコメント
(コメントID: 7776)
私のコード、一部まちがってましたね💦
(今日の月と誕生月が同じだった時の処理)
テスト不足で気がつかず…
失礼しました。
୨୧・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・୨୧
小川先生
replace関数で
誕生日の年➡今日の年に置き換える方法!
そんな使い方もできると知ってビックリしました😯
月を調べる過程がめんどうだと思っていたので💦
すっきり書く方法がわかって勉強になりました。
ありがとうございます。
୨୧・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・୨୧
藤本博子さん
私のコードが参考になったといってくださり、うれしいです😊
犬🐶の誕生日!
コードを書いて試すときに
自分の好きなものに関連して書くと楽しいので
ついつい使ってます。
藤本さんもコードも動かしてみました!
ちゃんと月齢まで出るのがすごいです。
def っていうのを見た瞬間!
わからなすぎてギョッとしたのですが(笑)
くわしくメモを書いていてくださっていたので
意味が分かりました。
わたしの今の知識でも月齢まで出せないか?
チャレンジしてみたいと思います!
条件分岐のところ
参考にさせていただきます😍
沖津さんのコメント
(コメントID: 7777)
コメントありがとうございます!
たかちゃんさんもワンちゃん🐶がおられるんですね♪
ついついやってしまいたくなる気持ち!
すごくわかります😁
沖津さんのコメント
(コメントID: 7778)
藤本 博子さんのコメント
(コメントID: 7780)
ご返事ありがとうございます。
沖津さんの月齢を算出するロジック、演算子の使い方、ともに洗練されていて、すごい!と思いました。
今度、このようなコードを書くことがあった時、真似します!
すごく勉強になりました。
ありがとうございます!!
田中 宏明さんのコメント
(コメントID: 7781)
さっそくreplace関数を使いこなされていますね。
月齢のマイナスを調整したら、同時に年齢も調整する必要がありそうです。
コードがシンプルだと何をしているのか直感的に理解できていいですね。
沖津さんのコメント
(コメントID: 7788)
ありがとうございます!
私ももっと複雑な感じになるかな?と思っていたのですが。。
たまたまこんなにスッキリ書けたので驚きでした😆
୨୧┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈୨୧
田中弘明さん
コメントありがとうございます😊
replaceの使い方、早速マネしました👍
年齢の取り出しについては、小川先生から教わったところで完了しているので、問題なしです♪
とはいえ。。
私もあまりにスッキリ書けてしまったので何か足りないのでは??と不安になり、テストをたくさんしました🤣
田中 宏明さんのコメント
(コメントID: 7789)
年齢を調整したらダメですね。
テストできるようになりたいです。
小川 慶一さんのコメント
(コメントID: 7793)
ゆみこさんのコメント
(コメントID: 8164)
>テストコードの書き方講座
これは、どの動画にありますでしょうか?
講座動画のタイトルを一通り確認してみたものの、該当しそうなものを見つけることができませんでした。
取り組むのはもう少し先になりますが、どのような感じか先に把握しておきたいです。
どうぞよろしくお願いいたします。
小川 慶一さんのコメント
(コメントID: 8166)
たとえば以下の zodiac.py があるとして、pytestで書くなら以下のとおりです。
(実行にあたっては、以下によって pytest をインストールしてください)
zodiac.py
test_zodiac.py
小川 慶一さんのコメント
(コメントID: 8167)
pip 不要ですが、 pytest より作法がやや面倒くさいです。
小川 慶一さんのコメント
(コメントID: 8168)
これだと、別途 unit test を書く必要はありません。
>>> は、 Python シェルで見かける記号ですね。
その下段は、期待される出力結果です。
zodiac.py 後半で以下の記述があります。
これにより、当該モジュールを単体で呼び出したときは docstring 内で記述された関数が実行された場合の期待されます。
そして、出力結果が期待される出力結果と一致しなければエラーになります。
テストが正常に動いていることを確認するには、適当に期待される結果を書き換えてから実行してみてください。
その後、 PyCharm の zodiac.py のタブを右クリック→実行でエラーが出ることを確認できます。
あるいは、ターミナルから、以下のコマンド実行でもOKです。
zodiac.py
小川 慶一さんのコメント
(コメントID: 8170)
ゆみこさんのコメント
(コメントID: 8172)
複数の例のご提示をありがとうございます。
>この講座だけ、まだ作れてないのです。
承知しました。
今回いただいた内容で、まずは自分なりに実行したり調べたりしてみます。
できましたら、まずは「pytest, unittest, doctestの基礎講座」的な動画の作成またはゼミ開催をしていただけると幸いです。
(それぞれの方法に対する小川先生のご見解などを、早めにうかがいたいため)
ご検討のほど、よろしくお願いいたします。
ゆみこさんのコメント
(コメントID: 8174)
改めまして、テストのコードや実行結果のご提示、ありがとうございました。
中身をきちんと読み込めてはいないのですが、最初に確認しておきたいことは確認できました。
<やったこと>
1. 以下3ファイルを作成後、4種類の方法でテストを実行しました。
(pytest, unittest, zodiac.py実行, ターミナルからの実行)
test_zodiac_pytest.py
test_zodiac_unittest.py
zodiac.py ( https://forum.pc5bai.com/lesson/entry/id/5371/#cid8168 のコードを使用)
2. それぞれの期待される出力結果を変更して実行し、テストでエラーになるケースも試してみました。
3. test_zodiac_pytest.py のテストケースを追加し、カバレッジの割合が変わることを確認しました。
<感想など>
・まず、小川先生が書いてくださった内容で実行できたことで、自分の成長を感じました。
(以前の私なら知識と理解が足りず、おそらく実行できなかった)
・pytestはunittestで書いたものも併せて実行してくれることが、実行したことで理解できてうれしかったです。
(小川先生が貼ってくださった実行結果を見たときは「なぜtest_zodiac_unittest.pyの方も出力されているのだろう?」と思っていたため)
・「pytestの実行結果に出てくるパーセンテージはなんだろう?」という疑問を持った後、調べたり実行したりという行動に移せたのがよかったです。
・今後関数を書くときは、まずdoctestで検証するところから始めてみようと考えています。
テストについては一旦以上とし、また講座動画への取り組みを進めます。