くだすれPython(超初心者用) その41【Ruby禁止】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/02/04(月) 21:22:10.08ID:9MrdxUVg
★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず

このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDEまたはcommand line/OS)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その40
http://mevius.5ch.net/test/read.cgi/tech/1542874174/


◆PythonのHome Page
http://www.python.org/

◆まとめwiki
ttp://python.rdy.jp/

◆Pythonのソースコードをそのまま5ちゃんにコピペすると
  インデントが崩れるので
  こういうところ↓にはってきてください
ttp://ideone.com/      Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−
138デフォルトの名無しさん
垢版 |
2019/02/15(金) 13:07:54.03ID:TNDmXWGM
>>136
文法だけなら3日で済ませろ
2019/02/15(金) 14:14:26.18ID:BPLAFoWk
ifが閉じないのが違和感ありすぎるんだよな
endをpass扱いで使えればいいのに
tab非推奨とか、mainがインデントできないとか
140デフォルトの名無しさん
垢版 |
2019/02/15(金) 14:28:19.26ID:TNDmXWGM
endってRuby信者かよ
うざいだけです
2019/02/15(金) 15:29:10.41ID:6n1ig9NM
>>113
1からcに勉強しなくても基本的なスクリプト分かればパッケージで何かできるようになるから教育の手間が省けるし使い物になるまでの時間が短い。ポインタみたいな話は逐一調べれば何とかなるし
2019/02/15(金) 16:08:39.95ID:PR4djPv7
>>113

米国では特に理由がない限りはスクリプト言語といえばPythonなの
もちろん機器を大規模に展開する段階ではCで書き直すこともありうるけど、その前のPoC段階では手っ取り早く動かすことを重視してスクリプト言語を選択することが多い
そして世の中のほとんどのIoT(笑)プロジェクトはPoC止まりである
2019/02/15(金) 17:40:54.87ID:fQG3bb7R
>>142
最後の行メッチャ同意w
2019/02/15(金) 19:12:24.12ID:FTe5u0N/
>>136
2〜3ヶ月では無理だろ
オライリーの「Fluent Python」読んだら程々で止めといた方がよいと分かる
特にデコレータとかスライスオブジェクトとか完全な理解までは時間も手間も掛かる
それにライブラリ有ってなんぼの言語だからその辺を当たるのも手間が掛かる
2019/02/15(金) 21:40:16.03ID:phBQxiAY
>>137
そんだけ説明するなら
Cpy = OreObj[:]でコピーの話してくれれば良いんだが
これもsliceがやってくれているのか?
2019/02/15(金) 22:13:07.97ID:nnYj1Xkq
>>145 シーケンスオブジェクトに対して有効なんだから、文法エラーが起きなければ、OreObjはシーケンスオブジェクトで有り!スライス表記が有効なんだろ。
2019/02/16(土) 01:03:35.23ID:3MiMTZ5E
>>145 print(type(OreObj))
とやってみれば良いよ。
というかわからずに作ってる方もどうかと思うが。
148デフォルトの名無しさん
垢版 |
2019/02/16(土) 01:22:05.09ID:pkeahHEi
Python3エンジニア認定基礎試験を受験しようと思ってるんだけど認定教材がオライリーのpython3 チュートリアル第3版だよね?
ドキュメントがあるんだけど
https://docs.python.org/ja/3/tutorial/index.html
本よりURL先の方が新しいからこっちで勉強すべきなんか本買った方がいいのやら
2019/02/16(土) 02:04:33.57ID:3MiMTZ5E
>>148 自分もまだ、どれをもとに勉強しようか悩んでるんだけど、試験を受けるんだったら、オライリーので勉強した方が良いんじゃないのかな。
出題範囲がそれからと決まってるみたいだし。

そのpython.org のチュートリアルは本当に基本的なことしか書いてないみたいだし。 それを見る場合は他の標準ライブラリーにも目を通す必要があるけど、そちらについてのチュートリアルはないからね。
150デフォルトの名無しさん
垢版 |
2019/02/16(土) 02:15:08.35ID:cp9NCj1N
>>111
BDFLの有り難いお言葉
http://python-history.blogspot.com/2013/10/why-python-uses-0-based-indexing.html

コメント欄含めて細かく1-/0-ベース、閉区間/半開区間のメリットデメリットが議論されてる
要素の間を指す、という記憶術の落とし穴も
2019/02/16(土) 02:27:49.37ID:Vy31NZNk
>>148
そのURLで良いんじゃないのか。
金出してオライリー買って勉強したって通らない奴は通らないだろうし。
で、URLでやっても通る奴は通るだろ
152デフォルトの名無しさん
垢版 |
2019/02/16(土) 05:33:47.13ID:ytOkList
>>136
奥の深いのはまるで量子力学みたい。
2019/02/16(土) 10:08:53.50ID:13Z91cw1
>>> "あ\\\"あ"
'あ\\"あ'
>>> print("あ\\\"あ")
あ\"あ

\の数が変わるのはなぜですか?
2019/02/16(土) 10:34:05.43ID:3MiMTZ5E
>>148 pdf があった方が良いと思うよ。 検索や見出しの頭出しなどが楽だから。
英文のpdf はあるけど、日本語はない。
https://docs.python.org/3/download.html
コピペ、書き込みはできる。

オライリーのにはpdfがあるから便利ではある。
ただし、コピペできないから注意。 amazon のレビューも参考にしてみたら。

【python入門者向け】おすすめPDF教材3選
https://web-camp.io/magazine/archives/16214
自分は、この中の2番目の大学の先生が書いてるやつで始めた。 コピペは勿論書き込みとかできる。
2019/02/16(土) 10:46:44.65ID:3MiMTZ5E
>>153 \ は、エスケープ文字と言って、次の1文字をそのまま使うことを指示する。
だから、\そのものを使うことはできない。しかし
\\ で\ をそのまま使う指示をすれば、\ 1文字として扱われる。
同じく \” \’ は、” ‘ そのものを扱うこもができる。
文字列の中にこう言う特殊文字を入れたい時に使う。

或いは、文字の中で改行したい場合には、\n を使う。
予め決められた文字をエスケープシーケンスと言う
print(‘abc\ndef’)
abc
def
エスケープシーケンスには他にタブ \n とか色々ある。
print(‘abc\n\tdef’)
abc
 def

エスケープシーケンス
https://www.javadrive.jp/python/string/index2.html
2019/02/16(土) 12:21:40.15ID:LDsTH0lF
bs4のスクレイピングで
〈dd class='a'〉bbb〈span class='c'〉ddd〈/span〉〈/dd〉
のときにbbbだけ取り出すにはどうすればいいですか?
157デフォルトの名無しさん
垢版 |
2019/02/16(土) 13:46:48.84ID:lF7O1vpr
linux流行る→linuxの試験立ち上げ
ruby流行る→rubyの試験立ち上げ
python流行る→pythonの試験立ち上げ

常に後手後手だな経産省は
2019/02/16(土) 13:49:19.24ID:ZA7pE0Rj
役所にitの世界でリードしろと言う方が無理がないか(´・ω・`)
159デフォルトの名無しさん
垢版 |
2019/02/16(土) 14:13:56.53ID:0EgtbNFo
二次元のエロ画像って、どうやって分類するの?
教えて!エロい人!?
2019/02/16(土) 14:25:52.61ID:LemtF0up
>>159
まず自力で集める
えろくない画像も集めておく
それを教師データにしてエロい・エロくないを学習させる
2019/02/16(土) 15:05:30.24ID:HHnqLgqK
>>157 そりゃニーズがないものを試験するのは無駄。
162デフォルトの名無しさん
垢版 |
2019/02/16(土) 17:34:44.82ID:mSqP7pCT
フォルダを分ける
●永久保存
●たまに観たい
●あとで観る
●即消し

フォルダ毎にランク数値化してベイズ学習して
新しい画像が来るたびにまたフォルダ分け
(自動化するが人間によるチェックも必要なのでいきなりフォルダに入れず
それぞれのフォルダ毎に保留バッファを用意して人間が承認して正式にフォルダ移動とともに再学習)

これで問題になるのは「即消し」フォルダにある画像も消したくても再学習のために消せないんじゃないかということ
2019/02/16(土) 21:35:51.99ID:cOF81sF3
pythonで開いたファイルを完全に閉じるにはどうしたら良いんでしょうか?
closeしたあとにshutil.moveで移動しようとしても、ファイルが使用中とエラーがでてしまいます。
2019/02/16(土) 22:09:05.36ID:/KIqi5pj
本当にPythonがハンドルを掴んでるのかまず確認しろ
「さっきまで開いてたから」は根拠にならない
2019/02/17(日) 00:00:34.97ID:Hg63DdMm
>>153-155
Ruby では、
str = "あ\\\"あ"

p str #=> "あ\\\"あ"
print str #=> あ\"あ

p では全体を、" " で囲んでいるように、文字列の内部表現を見ている。
一方、print では、文字列を外部に表示したもの
2019/02/17(日) 00:30:33.10ID:Hg63DdMm
>>156
jQuery 子要素を含まない text() が欲しい時
https://qiita.com/Urushibara01/items/7b44a3de5cc40d8a10be

elem.children().empty();
で一旦、すべての子要素を削除してから、

elem.text();
で、テキスト部分を取得している

つまり一旦、<span> の部分を削除してから、テキスト部分を取得する。
でも実際に、DOM が削除されてしまうのは、都合が悪いかも知れない

他にも「jquery text 直下」で検索して、探してみれば?
167166
垢版 |
2019/02/17(日) 00:46:15.18ID:Hg63DdMm
scrapyでよく使うxpath, cssのセレクタ
https://python.civic-apps.com/scrapy-xpath-css/

直下の子要素指定でフィルタの所に、xpath, css で、
<div>aaa<div>bbb</div></div> で、aaa だけを取得する方法が書いてある
2019/02/17(日) 01:19:40.29ID:p7gH0RbB
>>165
>文字列の内部表現、文字列を外部に表示
なんか良い表現だな
自分の言葉でこんな表現出来るルビ基地は頭は悪くないんだろうから、
基地外精神を直せばいい奴になるのにな。
俺らが気にするのは文字列を外部に表示のほうだからな
>>> "あ\\\"あ"
'あ\\"あ'
なら
>>> len( "あ\\\"あ" )
は4なのか5なのか
2019/02/17(日) 08:16:33.30ID:WySC1FKQ
>>168
試したら4だったよ
2019/02/17(日) 09:55:44.57ID:yxjz1BDw
>>164
確認しました。
掴んでるのはpython.exeだけでした。
171デフォルトの名無しさん
垢版 |
2019/02/17(日) 13:41:35.73ID:7mUUrd8D
>>170
違うものを閉じようとしてるんじゃね
2019/02/17(日) 14:08:27.77ID:+S0MQzvf
>>165 なんで python スレに Ruby の解説を持ち込まないといけないんだよ。 python をさわれないなら黙って見てろ。

python で説明するなら、

str = "あ\\\"あ"
rstr = r"あ\\\"あ" # raw string
print(str,rstr)
#あ\"あ あ\\\"あ
l
2019/02/17(日) 14:23:35.65ID:+S0MQzvf
raw string は、正規表現関係の検索文字列で使われる。
2019/02/17(日) 14:32:37.51ID:+S0MQzvf
>>172 普通は解釈(代入)段階でエスケープされるけど、raw 指定された場合は、エスケープしないだけで、結果としてできた文字列はどちらも str 属性のまま。
2019/02/17(日) 15:01:00.41ID:+S0MQzvf
>>139 tab 非推奨って本当?
サンプルコードを拾ってくると確かにタブは使われていない。
でもそれを修正して使おうとするとタブが入るから、エラーとされる。
合わせるのが大変なんだけど、みんなどうしてんの?
2019/02/17(日) 15:09:57.38ID:2Zsn/By5
yesタブ非推奨
正規表現できるエディタ(秀丸エディタとか、sakuraエディタ)で
\tを「 」(半角スペース4つ)に一斉置換でおk
2019/02/17(日) 15:13:46.38ID:naWxhgEk
>>172
ルビ厨に構うなよ…
2019/02/17(日) 15:27:26.15ID:yxjz1BDw
>>171
すいません、解決しました、
文法がRubyとごっちゃになってcloseに()が付いてませんでしたorz
エラーにならないから全然気づかなかった…
2019/02/17(日) 15:39:19.93ID:yfMLX38R
>>176 一括変換はどのようにしてもできるんだけど、コピペして動かそうとして修正するときに面倒。

利口なIDEなら両方を調整してくれても良さそうなものだけどな。
まだ、IDEをどうするのか決めてないし、とりあえずEclipseに入れるつもりだけど、なんか途中でつまづいてる。
2019/02/17(日) 15:49:18.49ID:naWxhgEk
>>179
大抵のIDEでTabキーでスペース挿入とかできるはずだが?
2019/02/17(日) 17:18:58.04ID:OPCV5npO
>>178
with open構文使えばそんなことで悩むことなかったのに
2019/02/17(日) 17:29:14.69ID:+S0MQzvf
>>180 IDEはまだ使っていないって、pythonista やjupyter で練習中
ただ、IDEでスペース挿入できたって、コピペしたやつとスペースの数が違えばダメだろ? 大抵は一括変化できるだろうけど。

それでもjupyter などで使おうとするとやはり苦労するよね?
2019/02/17(日) 17:50:07.52ID:+S0MQzvf
質問(1)
‘__main__’ in globals()
や、
2 in [1,2,3]
がTrueになるのはなんで?
定数 in 集合は、定数を取り出せと言う意味なのかな?

i in [1,2,3]
が許されないのは何を取り出すのわからないからかな?

質問(2)
print( [i for i in [1,2,3] ] )
が許されて
print( (i for i in [1,2,3] ) )
が許されないのがわからない。
2019/02/17(日) 17:56:47.88ID:T3+WXnTJ
>>183 質問(1)は自己解決
まともな文法書を読み始めて2日目で、ようやくたどり着いた。

《in演算子によるメンバシップ検査》
書き方: 要素 in リスト 
リストの中に要素があればTrue,なければFalseを返す.要素が含まれないことを検査するにはnot inと記述する
2019/02/17(日) 18:15:18.83ID:naWxhgEk
>>182
グダグダ言う暇あったらテキトーなIDE使ってみなよ
スペースの数とかも指定できる
そもそも他の開発者がいちいち一括変換とかして苦労してるわけ無いだろ
186デフォルトの名無しさん
垢版 |
2019/02/17(日) 19:09:07.40ID:9eEjpIke
>>183
質問(2)について
二つ目が「許されない」と言う意味が分からないが、少なくとも文法的には間違いではない
(i for i in [1,2,3] ) はジェネレータ内包表記といいgeneratorオブジェクトになる
ジェネレータはnext関数に渡すと次々に値を返す。最後まで到達するとStopIteration例外を出す
>>> gen = (i for i in [1,2,3])
>>> gen
<generator object <genexpr> at 0x7fb1b1a86ba0>
>>> next(gen)
1
>>> next(gen)
2
>>> next(gen)
3
>>> next(gen)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
2019/02/17(日) 19:20:42.25ID:glILnxtO
ビートセイバーの通常プレイってなんだかんだで斬る方向も指定されるから
いまいち魅せプレイには向いてないんよな 
めめめにダースモールプレイでくるくるしてほしいンゴ

https://www.youtube.com/watch?v=e-m09N_HtRk
2019/02/17(日) 19:20:57.80ID:glILnxtO
誤爆
2019/02/17(日) 19:31:52.09ID:+S0MQzvf
>>186 有り難う。 同じような形なのになんでprint ができないのかと言う疑問だった。
print( (i for i in [1,2,3] ) )
は、ジェネレータから取り出してしないからと言う理解で良いの?
2019/02/17(日) 19:51:22.25ID:OPCV5npO
>>189
Pythonの分かりにくいところだよね
同じ記号を別の意味で使っている

[1,2,3] リスト。集合は可変
(1,2,3) タプル。集合は不変

if 2 in [1,2,3] リストの中に2が含まれるか判別
for i in [1,2,3] リストの要素で繰り返し

[i for i in [1,2,3]] リストの要素で繰り返した結果を演算しリストとする
(i for i in [1,2,3]) リストの要素で繰り返した結果を演算するgeneratorを返す

普通に考えたらgeneratorではなく演算結果をタプルで返すように思うよね
2019/02/17(日) 20:07:17.70ID:U9IIuCB3
内包表記でタプルは作れない(ジェネレータになる)だけで一貫してるだろ
それに
for i in イテラブル
じゃなくて
i for i in イテラブル
だし
2019/02/17(日) 20:25:38.62ID:WySC1FKQ
>>184
「まともな文法書」が何かを記していただければ、このスレの住民には助かると思います
2019/02/17(日) 20:31:16.29ID:tKx1WgvG
in単体なら演算子だけど、forではそれ含めて文だからねぇ
文脈によって解釈が変わるのはC/C++でも英語でも同じ

そしてタプルを作るのは丸括弧ではなく「,」である
2019/02/17(日) 20:33:32.71ID:U9IIuCB3
というか「(1,2)はカッコがあるからタプル」は偽だから
(x for x in [1,2,3])がタプル返す義理はないな
まぁその辺のサイトみたら軒並み「タプルはカッコでくくってつくる」って書いてあるのはそうだけど
ドキュメントにはそうは書いてない
195デフォルトの名無しさん
垢版 |
2019/02/17(日) 20:39:37.47ID:9eEjpIke
確かにカッコ使わずに
a =1,2,3
でもタプルになるしな
2019/02/17(日) 20:42:19.07ID:OPCV5npO
>>194
カンマで区切ればタプルにるけどさ、タプルの出力は必ずカッコで括られるんだから、直感と違うわけだよ
2019/02/17(日) 20:44:17.06ID:GfPZMs79
カッコつけてるだけだよ
2019/02/17(日) 20:46:20.17ID:4CukteGI
リストはイテラブルなオブジェクトでイテレータではないらしいけど、なんで最初からリストをイテレータとして使えるようにnextメソッドを実装しておかないんや
2019/02/17(日) 20:47:29.51ID:glILnxtO
>>196
practicality beat purity(実用性は純粋さに勝る)だぜ
ジェネレーターにすれば途方もない数も扱えるわけだし
デフォでジェネレーターになるのはしょうがない

range()がリストではなくイテレーターを返すようになったようにな
2019/02/17(日) 20:47:49.01ID:p7gH0RbB
>>193
だよな
(1)は整数の1、でも、(1,)は整数の1を持つタプル
()だけではタプルを生成することにはならないからな
これは俺でも知っている超超入門レベル知識だからな

>>194
(x, for x in [1,2,3])とかならタプルを生成しなんだろうが
2019/02/17(日) 20:50:48.52ID:U9IIuCB3
>>200
(x, for x in [1,2,3])
はシンタックスエラー
((x,) for x in [1,2,3])
ならタプルを3つ返すジェネレータができる
2019/02/17(日) 21:11:43.56ID:GfPZMs79
(x,)っていかにも要素2つありそうな見た目だけど要素数1のタプルなの?w
2019/02/17(日) 21:19:41.54ID:OPCV5npO
>>202
公式のチュートリアルにもUglyと書いてあるだけあってなんだかなぁとは思う
2019/02/17(日) 21:55:32.99ID:nNpu08PZ
益々訳ワカメになってきた。
2019/02/17(日) 22:00:38.59ID:p7gH0RbB
>>201
(x, for x in [1,2,3])
がエラーなのは分かっている
でも、なんかタプルの(1,2,3)を作ってくれそうな感じだろ
{ n:str(n) for n in [1,2,3] }で辞書を作れるんだから
2019/02/17(日) 22:08:56.80ID:nNpu08PZ
((x,) for x in [1,2,3])

ってどんな意味があるのかわからん。

print(list ((x,) for x in [1,2,3]) )
#[(1,), (2,), (3,)]

(1,) ってどんな意味があるの?
2019/02/17(日) 22:15:21.52ID:glILnxtO
>>206
(1,)とか(2,)っていうのは「要素がひとつだけのタプル」を示す
2019/02/17(日) 22:56:02.90ID:nNpu08PZ
やっぱチュートリアルをちらっと読んだだけじゃ、基本的なことがわからないな。

言語設計者の開発秘話みたいなものが聞けると面白いと思うんだけど。
2019/02/17(日) 23:03:18.87ID:Hg63DdMm
>>178
Ruby で言えば、File.open にブロックを付けると、
ブロックを抜けるときに、例外時にも自動的に、開いたファイルを閉じてくれる

自分で例外処理、finally・ensure などに、file.close を書いたのと同じこと

コンテキスト・マネージャー。
Python にも、同じものがあるはず
2019/02/17(日) 23:20:56.32ID:glILnxtO
pythonの基本方針はimport thisで読める

False == False == FalseがTrueになるとか面白いよな
211デフォルトの名無しさん
垢版 |
2019/02/17(日) 23:51:24.85ID:9eEjpIke
True+Trueが2になるとかな
2019/02/18(月) 00:38:39.85ID:9Y7UoWyl
>>207 ますますわからなくなってきた。
タプルと言うのは、複数の数値の羅列だと思ってたのに、一つでなんでタプルになり、一つのタプルにどんな効果が出てくるの?

そう言う文法だからと言えばそうなんだろうけど、
1 in 1 をエラーにして、1 in (1,) をTrue にする意味があるんだろうか?
1 in (1) と区別が付かんと困るからかな? ただのカッコ()とタプルの区別を カンマの有無で区別すると言うことか。
2019/02/18(月) 00:42:35.27ID:SjVwlNp1
「1 in 1 をエラーにして、1 in [1] をTrue にする意味があるんだろうか?」
2019/02/18(月) 00:54:13.98ID:Tb62uZUC
「数値1つ」と「数値1つだけを含んだ集合」は別のものだ。
1つの要素しか含まないリストを作ることもできるし
1つの要素しか含まない辞書も作ることができる
タプルができない理由はない

まぁプログラミングというか論理学の話になるけどな

1 in 1でエラーが出るのは当然
1と1は同値であり、1の中に1が含まれているわけではないのだから
2019/02/18(月) 00:56:36.72ID:9Y7UoWyl
>>210 import this があるなんて面白いね。

プログラマが持つべき心構え (The Zen of Python)
https://qiita.com/IshitaTakeshi/items/e4145921c8dbf7ba57ef

The Zen of Python, by Tim Peters
ちなみに、"Zen"は日本語の「禅」です。

1 in 1 を許さないのは禅問答になるのかな? 悟りを開くしかないのかな?
2019/02/18(月) 01:02:08.73ID:9Y7UoWyl
>>214 リストやタプルは集合体だから何かの入れ物の中に入ったもので。
1 in 1 は、入れ物がないから取り出せないと言う感じかな?

じゃ、リストやタプルは現実社会のどんなものに対応するんだろう。
2019/02/18(月) 01:18:45.55ID:Tb62uZUC
「1つの要素」と「要素ひとつだけを含む集合」は
「弾丸一発」と「一発だけ弾が残った弾倉」と同じくらい違う

「書類1枚」と「1枚だけ書類を挟んだファイル」と同じくらい違う

風来のシレンで言うと
「アイテムひとつ」と「アイテムがひとつだけ入った壺」と同じくらい違う


pythouの内部的にはリストやタプルには「複数の要素を扱うための機能」がついてる
単一の要素整数にはそれがない

だから単一の要素にinを使ってもそもそも「その要素が含まれているかどうか」を確認することができない
2019/02/18(月) 01:29:08.54ID:SjVwlNp1
JavaScript「呼んだ?」
1 == [1] //=> true
2019/02/18(月) 01:36:54.94ID:Tb62uZUC
>>218
これがあるから===しか使いたくない
220デフォルトの名無しさん
垢版 |
2019/02/18(月) 08:12:09.71ID:7eiXgP3l
int[] a = { 1, 2, 3, 4, 5, 6 };

int sum = 0;

for(int i = 0; i < a.Length; ++i)
{
sum += a[i];
}

int b = sum / a.Length;
Console.WriteLine(b);

とあるんですがsum/a.Lengthは何割何で計算してるんですか?
配列の計算原理が本ではいまいち分からないので教えて下さい;
221デフォルトの名無しさん
垢版 |
2019/02/18(月) 08:41:37.17ID:tx9DPBTs
>>220
for文による繰り返し処理を勉強してください
2019/02/18(月) 08:45:07.32ID:JBcAVpfH
>>220
そいつぁC#で合計÷要素数=平均じゃないの?
int同士で端数が切り捨てられる事を聞きたいの?
2019/02/18(月) 09:46:20.06ID:qsq8EO4j
Ruby 2.6 では、

ary = [1, 2, 3]
ary.sum
#=> 合計は、6

平均値は、合計を要素数で割る。
mean = ary.sum / ary.length
2019/02/18(月) 10:44:29.19ID:1FoQC5sv
>>223
死ね
2019/02/18(月) 12:18:05.03ID:NoNskV/l
>>223
荒らし
2019/02/18(月) 12:38:24.20ID:qDhO0A3F
計算結果や変数内の値はprintで表示できる
そんなことが説明なされない本なんて売っぱらちゃいな
2019/02/18(月) 14:05:11.71ID:7eiXgP3l
>>221->>222
for文は理解できているのですが、a.Lengthこれが何の数値に化けるのか分からないです…
要素数というのはつまリ6になるということですか?
2019/02/18(月) 14:06:00.10ID:mU1u6kNH
>>227 そう
>>220 python だと、

a = [ 1, 2, 3, 4, 5, 6 ]
sum = 0
for i in range(len(a)):
sum += a[i]

b = sum / len(a)
print(b)
print('配列内の合計=',sum,'割る','配列長=',len(a),'答は',b)
#3.5
#配列内の合計= 21 割る 配列長= 6 答は 3.5
222.5万、税、都税
2019/02/18(月) 14:12:48.12ID:fpnGWm5B
>>227
何の数値に化けるのか分からなかったら、
print(a.Length)してみればいい。
230デフォルトの名無しさん
垢版 |
2019/02/18(月) 14:40:05.59ID:oU/NFgq1
>>198
分けないとマルチプロセスで困るだろ
231デフォルトの名無しさん
垢版 |
2019/02/18(月) 14:46:31.19ID:oU/NFgq1
pythonは
a=[1,2,3]
で a.len とか a.Length とか取れないのはきもいな
2019/02/18(月) 14:54:14.63ID:7eiXgP3l
>>228
完全に理解できました!
ありがとうございます(・ω・)ノ
2019/02/18(月) 15:01:26.05ID:Tb62uZUC
>>231
a.__len__()
2019/02/18(月) 16:14:05.74ID:mU1u6kNH
>>148 >>149
どちらも同じみたいだね。

Python チュートリアル 第 3 版
https://books.lifewithpython.com/books/58/
Python の作者である Guido van Rossum 氏が書いた Python の入門書です。

尚、この書籍と同じチュートリアルに対する日本語訳がウェブ上でも公開されています(ウェブ上の翻訳と本書の翻訳は異なります)。 好みに応じて好きな方を選ぶとよいでしょう。

Python チュートリアル ― Python 3 ドキュメント
https://docs.python.jp/3/tutorial/index.html

個人的には、他の言語でプログラミング経験のある方が Python を始めるときにはよいのですが、プログラミング自体が初めての方にとっては本書は少し難しいのではないかと思います。
プログラミングが初めての方でこの本を読みたい方には、一度中身をチェックしてみてから購入するかどうかを決めることをおすすめします。

Guido 氏が書いたチュートリアルということで、プロの Pythonista なら誰しも一度は読んだことのある一冊でしょう。
235デフォルトの名無しさん
垢版 |
2019/02/18(月) 16:25:56.30ID:OhspBoh0
Pythonのええとこは何でも特殊メソッドに委譲するとこやね
マジで何でもできる、おもちゃに最適
2019/02/18(月) 16:41:09.54ID:3yKPK3LO
>>234
Python の理解度確認をするために「Python チュートリアル 第3版」を読んだ
Python 本
オライリーから出版
https://kakakakakku.hatenablog.com/entry/2019/01/13/140726
オライリーから出版されている「Python チュートリアル 第3版」を読んだ.
読者対象として「Python 入門者のための」と書いてあるけど,そこそこ難しい内容もあり,中級者でも楽しめる内容になっている.
本書の最初に載っている「訳者まえがき」にも,理解度によって読む方法を変えて良いと書いてあった.
今回本書を読んでみて,勉強になった部分を整理しておこうと思う.
なお,本書は「Python 3.5.1」をサポートしている.さらに付録もあり,特に「付録E」と「付録F」は面白かった.
2019/02/18(月) 17:20:44.97ID:3yKPK3LO
>>236

https://kakakakakku.hatenablog.com/entry/2019/01/14/000300
模擬試験(無料)
認定スクール「DIVE INTO EXAM」から無料で提供されている模擬試験がある.まだ β であると記載されているけど,計80問あり,試験同様に計40問出題される.
模擬試験の受験回数に制限はなく,何度も何度も繰り返し受験できる.少なくとも1度は受験しておくと良いと思う.
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況