- 1 名前:デフォルトの名無しさん mailto:sage [2021/01/09(土) 05:22:25.24 ID:IpHIsox4.net]
- 当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。 「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合は、 表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。 【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意! Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので ↓等の、いわゆるコードうp用サイトに貼ってこいください。 ttps://techiedelight.com/compiler/ Run Code機能あり。 ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ◇Python公式サイト◇ www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi 〇前スレ〇 くだすれPython(超初心者用) その51【まず1嫁】 https://mevius.5ch.net/test/read.cgi/tech/1602896738/ 次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい) ### END OF TEMPLATE ###
- 583 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 08:27:14.13 ID:YmTCK60y.net]
- 構造体データて扱えるの?
こういうやつ。 01 従業員. ----05 従業員番号 PIC 9(7). ----05 従業員名 PIC X(30). ----05 入社年月日. --------10 入社年 PIC 9999. --------10 入社月 PIC 99. --------10 入社日 PIC 99.
- 584 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 09:35:10.61 ID:VYudgr0a.net]
- >>583
無論おk
- 585 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 14:28:26.05 ID:/Mh4iWCM.net]
- >>583
年月日に20210221突っ込んで 年で2021だけ取り出すには工夫がいるかな
- 586 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 14:31:13.67 ID:UiySRn99.net]
- わざわざ分けなくても datatime で持てば良くない?
- 587 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 14:36:40.26 ID:9qukVfwV.net]
- >>583
COBOLの知識は完全に全て忘れろ。今すぐに。 Pythonでは固定長レコードは一切使わない。CSVやJSONのような可変長データを使う。
- 588 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 16:54:13.00 ID:3wKXGD51.net]
- >>583
プログラム内の表現として扱うという意味なら自分でクラスを定義するだけ 文字列、数値、日付みたいな型は標準であるけど「30文字以内の文字列」みたいな型はないので 従業員クラスに自分でバリデーションを追加するか独自の型を定義するか COBOLで書き出した構造化ファイルのデータをPythonから扱えるかという意味なら ファイルフォーマット次第だけど簡単には扱えない CSVとかのテキストフォーマットに書き出したものをPythonで読み込むほうが桁違いに簡単
- 589 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 08:11:56.12 ID:uJ/bSXez.net]
- pythonのデバックでプログラムが何行目を通過したかて知る方法てあるの?
visual studio 2019を使っててF11でスッテプ実行てのが出来るんだけど、 1万行あったら1万行回F11叩くのか?てことになる。
- 590 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 08:34:50.69 ID:ckzMPuES.net]
- >>589
F11連打しかしないとそうなるな 取説嫁
- 591 名前:デフォルトの名無しさん [2021/02/22(月) 10:21:35.37 ID:5/ri8a+l.net]
- >>589
ifの質問してるのと同じ人?
- 592 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 10:43:27.55 ID:PW7vHVeo.net]
- フレイクホイントを使ってテハックするのじゃ
- 593 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 10:55:31.74 ID:pI5eidjw.net]
- 何行目を通過したか知りたいって考え方をするのはプログラムの構造に問題があるから
- 594 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 11:05:19.36 ID:RHKTrh3L.net]
- pythonじゃなくても普通bp貼るだろ。
- 595 名前:デフォルトの名無しさん [2021/02/22(月) 13:28:34.74 ID:zcTtu3Zr.net]
- フレイクホイントが
フロントホックに見えてしまった(´・ω・`)
- 596 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 14:07:23.81 ID:aMOGcJaK.net]
- >>589
ストップポイント指定するんだよ んで次のステップポイントに飛ぶってのがある
- 597 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 14:07:41.17 ID:aMOGcJaK.net]
- ブレイクポイントかw
- 598 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 14:37:49.37 ID:tvUSsQ8P.net]
- 3行のコードでも1万回ループしてたら
ステップオーバーを3万回叩かないと抜けられない F11はステップインなのでどんどん潜る
- 599 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 14:45:11.64 ID:Ag9nXfNi.net]
- VBAしかやったことないニワカだから、同じ疑問をずっと持ってた
自分の書いたコードの動作を一つずつ確認するために1行ずつ実行することがよくあったんだけど pythonだと、極端なこと言えば1行ごとにブレイクポイントを挟まないといけないってこと?
- 600 名前:デフォルトの名無しさん [2021/02/22(月) 14:59:58.20 ID:DIDXVj1p.net]
- 標準添付のデバッガ(PDB)やIDE(VSCodeなど)でも普通にできる。
- 601 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 15:25:22.70 ID:nmugGdcj.net]
- >>599
んなわけない
- 602 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 15:31:46.21 ID:PGV0X2RH.net]
- デバッガの使い方なんてどの言語でも一緒
ブレイクポイントの設定 ステップオーバー ステップイン ステップアウト コンティニュー この5つを理解すればいいだけ プログラミング学習の初日に習う内容
- 603 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 15:42:31.40 ID:uJ/bSXez.net]
- 新入社員でcobolやったときは最初から最後までトレースとったぞ。
人は意図的にバグを作り込むわけじゃないから、ストップポイント指定なんてナンセンス。 事前に指定しても、それ以外のところでエラーするのが当たり前。 事前にストップポイントやらブレイクポイントを指定なんて無駄だよ。
- 604 名前:デフォルトの名無しさん [2021/02/22(月) 15:47:47.63 ID:DIDXVj1p.net]
- なんだろう。
COBOLだってプログラミング言語のはずなんだが、こうも考え方のピントがズレるもんかね。
- 605 名前:デフォルトの名無しさん [2021/02/22(月) 15:49:02.61 ID:65ZJFDMb.net]
- Python関係ないよね
デバッグのやり方教えて終わりでいいでしょ
- 606 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 15:54:55.08 ID:AYpKHnjf.net]
- >>603
よく分からんけど普通デバッグって ・エラー出た個所とエラーメッセージを確認する ・エラー出た個所にブレイクポイント設定しつつ、関連して怪しそうな所にもブレイクポイントを再度動作させる ・後はデバッガで変数値とか確認しながら原因付き留める 動かす度に止まる場所が変わる、とかでもない限りこれで十分じゃね? あと何行目を通過したか?っていう質問の時点で トレースされたエラーメッセージ見てないのか?っていう気はしてるけど……
- 607 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 15:55:51.44 ID:Xis0SD1d.net]
- >>604
COBOLはデータ処理のフローを小さなステップに分割して、そのステップ毎にプログラムを分割するのが普通で、 一つ一つのステップは構造化もクソもなくただ命令を平べったく羅列するだけ、というのが一般的 Pythonでいう数行から百行程度の関数一つ一つがCOBOLでは1000行くらいに膨れ上がって、それぞれが別個のプログラムになってるのを想像すれば、彼の気持ちを理解できるだろう
- 608 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 16:42:38.45 ID:hC2BZM1+.net]
- COBOLだってデバッガの基本的な使い方はPythonと全く同じ
プログラム全体をステップ実行したいならエントリポイントにブレークポイント置いてステップ実行して行くだけ 学習目的以外では普通やらないけど Pythonでもトレースはとれる それも時間の無駄なのでまずやらない
- 609 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 17:14:24.97 ID:ckzMPuES.net]
- >>595
もるだーつかれてるネー
- 610 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 17:15:37.44 ID:ckzMPuES.net]
- >>602
それプログラミング基礎ちゃう デバッグ基礎や >>604 コボルドって基本犬頭だからね
- 611 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 18:24:34.17 ID:KlgM0RdP.net]
- COBOL奴か
- 612 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 18:30:34.39 ID:5xkEJHnL.net]
- コボおじw
- 613 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 21:53:28.96 ID:G30bzgiW.net]
- デバッグとかprint文挿入でいいんじゃ
- 614 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 22:09:55.16 ID:sB1O4QV3.net]
- 手軽なテキストエディタでprint()利用のデバッグはあなどれない
- 615 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 22:55:29.56 ID:sQpMvYPW.net]
- ある程度はprintデバッグで問題の発生する範囲を絞り込むよね。
データが20種10ループの処理を受けるときに200回とかステップ実行やってられないもの
- 616 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 23:07:05.13 ID:uJ/bSXez.net]
- >>606
これはVS2019の問題かもしれんが、関数の中で止まると何行目で止まったか表示してくれない。 だからエラーが出た個所にブレイクポイントを設定することがまず大変。 F11で追わないとどこで止まったかわからない。
- 617 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 23:08:26.38 ID:UEjjQNjA.net]
- エラーに行番号出てるでしょ
- 618 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 23:20:25.34 ID:uJ/bSXez.net]
- >>617
関数を呼び出したところしか出てこない
- 619 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 00:00:43.61 ID:cTQNOv+R.net]
- >>615
そういうのは条件付きのブレイクポイントを使う
- 620 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 00:03:58.11 ID:cTQNOv+R.net]
- >>618
VS使わずコマンドラインから実行してエラーメッセージを確認 VS2019の問題だと思うならまず切り分けすべき
- 621 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 02:07:51.55 ID:fia5nfNQ.net]
- 関数の切り分けがそもそも糞なんだろ。
pythonでデバッガが必要なことなんてあんまりないぞ。cみたいなメモリがぶっ壊れるものならともかく。
- 622 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 06:54:54.23 ID:VpyuW4/O.net]
- git bisectの使い方は覚えとくと便利やぞ
- 623 名前:デフォルトの名無しさん [2021/02/23(火) 08:54:05.78 ID:NUvCbrOs.net]
- ハナから全部に、「今何行目」って表示出しとけw
- 624 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 08:56:11.05 ID:P6BTUA4m.net]
- スレタイ嫁
- 625 名前:デフォルトの名無しさん [2021/02/23(火) 11:49:45.49 ID:XvdT4dfh.net]
- python最大の特徴はC言語やってても余り使わない__main__など特殊変数を大量に見かけることだ
この奥深さはperlを超えてるが見た目の分かり易さは当然pythonに軍配が上がる
- 626 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 11:56:56.18 ID:wfTpwfxG.net]
- 清水の舞台から飛び降りるつもりでVS2019からpycharmに変えてみた。
pycharmてどこでエラーしたかわかるんだな。 VS2019はどこでエラーしたか不明な場合がたたある。 今までの苦労は何だったのだ?
- 627 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 12:25:37.67 ID:IRMSQgrY.net]
- 修行
- 628 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 12:33:34.02 ID:eeQBUcpI.net]
- >>625
perlを超えてはいないだろ。
|

|