AtCoderで茶色を目指す 4日目
7:10に起床。昨夜は早めに寝れたのに早起きできない。目標は5:00起きです。
とはいえ、朝は過ごしやすいので、机に向かいましょう。
本日もがんばります。
今日からpyhotnを学ぶ
本日からは次のサイトを参考に勉強していきます。
備忘録
Atcoderに関係ないメモになります。。。
- VScodeでの一括コメントアウトはコメントアウトしたい行を指定して「Shift+option+A」です。macの書き方なのでWindowsは違うかもしれないです。
- 改行コードの「 \n」のバックスラッシュ(\)の書き方についてです。Macでは「option+¥」です。ちなみにWindowsではバックスラッシュではなく「¥n」で問題ないです。
ここからはAtCoder関係です。
初めて「RE」という結果を見ました。AtCoderの用語集よると、プログラム実行中のエラーだそうです。自分のコードを見ながら原因を解決していきます。
コードテストしていませんでした。入力の形式とコードのinputの部分が合致していませんでした。少し頭が追いつかないミスだったので次にまとめます。
備忘録2
やりたいこと
この問題を解きます。「箱の中のボールN個からA個とってB個追加する」という問題です。単純な計算で解けます。
エラー
コード:
入力:100 3 4
エラー: ValueError: invalid literal for int() with base 10: '100 3 4'
このエラーの意味は「入力した『100 3 4』は10進数の整数に変換できないよ」みたいなことらしいです。
原因
「いやいや、全部整数だから、元から10進数じゃん」って思いました。しかし、入力されたのは、文字列として受け取られていました。つまり、文字列入力になっていることが原因だと思われます。
解決法
入力を書き換えればすぐ済むのですが、それだと正解として扱われません。なので、コードを書き換えます。
これで、解決しました。
map関数とsplit関数の使い方が不安なので、今後の課題です。
参考サイト
用語集 - AtCoder Beginner Contest 074
ValueError: invalid literal for int() with base 10: 'xxx'とは何ですか? - Python学習チャンネル by PyQ