pythonのlistを使った問題
2020.11.17 21:07|プログラム|
なんかpython独特の問題があってMATLABのときのように簡単に行かない
①普通に計算すると小数点が出てくる
C言語とか小数点出てきたっけ?%dで表示するから基本でてこないよね
Pythonは何も考えずにやると小数点で割り切れるまで表示する、はっきり言ってうざい
round関数やらmathライブラリのfloorで小数を切り捨てる工程が入る
%dで慣れてしまった弊害かな?そのうちなれるだろう
小数点を切り上げたくなったらround関数を使う
小数点を捨てたくなったらmath ライブラリを読み込んでfloorを使う
②リストがよくわからん
リストを理解したつもりなんだが偶にリストの扱いにバグが生じる
C言語みたく要素を作って枠にぶち込む考え方をすると間違いなくエラーを返してくる
c[10]とか作っておいてi++のfor文回してc[i] = aを入れ続けるとかをPythonでやるとエラーを返してくることが多い
appendやらinsert(場所、"内容")をちゃんと使えるようにしておいた方がいいのかもしれない
Pythonは基本わかったつもりでも本当に変なところで引っかかって難しい
10進数を2進数に変換して該当ポジションを読み出す問題を解いてたんですけど、みんな20分程度で解いているらしく
私50分近くかかってるんですよね、C言語のほうが楽に解けたのでは?
C言語はC言語でライブラリが貧弱すぎて一々ロジックを作らないといけなくなるので逆にめんどくさくなるっていう
ソートとかあそこらへんですね
まあ経験だろうから諦めずにガリガリ毎日解いていくことが慣れへの近道だろうとは思う
本当に解けなかったらロジックが出てこないはずだし、ロジックが思い浮かんでるけど表現に手間取ってるだけなら
まだ見込みがありますね、ただ時間がかかりすぎるのが問題か・・・。
①普通に計算すると小数点が出てくる
C言語とか小数点出てきたっけ?%dで表示するから基本でてこないよね
Pythonは何も考えずにやると小数点で割り切れるまで表示する、はっきり言ってうざい
round関数やらmathライブラリのfloorで小数を切り捨てる工程が入る
%dで慣れてしまった弊害かな?そのうちなれるだろう
小数点を切り上げたくなったらround関数を使う
小数点を捨てたくなったらmath ライブラリを読み込んでfloorを使う
②リストがよくわからん
リストを理解したつもりなんだが偶にリストの扱いにバグが生じる
C言語みたく要素を作って枠にぶち込む考え方をすると間違いなくエラーを返してくる
c[10]とか作っておいてi++のfor文回してc[i] = aを入れ続けるとかをPythonでやるとエラーを返してくることが多い
appendやらinsert(場所、"内容")をちゃんと使えるようにしておいた方がいいのかもしれない
Pythonは基本わかったつもりでも本当に変なところで引っかかって難しい
10進数を2進数に変換して該当ポジションを読み出す問題を解いてたんですけど、みんな20分程度で解いているらしく
私50分近くかかってるんですよね、C言語のほうが楽に解けたのでは?
C言語はC言語でライブラリが貧弱すぎて一々ロジックを作らないといけなくなるので逆にめんどくさくなるっていう
ソートとかあそこらへんですね
まあ経験だろうから諦めずにガリガリ毎日解いていくことが慣れへの近道だろうとは思う
本当に解けなかったらロジックが出てこないはずだし、ロジックが思い浮かんでるけど表現に手間取ってるだけなら
まだ見込みがありますね、ただ時間がかかりすぎるのが問題か・・・。