■ このスレッドは過去ログ倉庫に格納されています
くだすれPython(超初心者用) その37
- 1 :デフォルトの名無しさん:2018/03/17(土) 16:32:25.91 ID:S1lkLDnv.net
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その36
http://mevius.2ch.net/test/read.cgi/tech/1514805522/
- 138 :デフォルトの名無しさん:2018/03/28(水) 07:55:50.50 ID:WKkXmrtt.net
- >>137
いいですね、気持ちのいい緊縛
- 139 :デフォルトの名無しさん:2018/03/28(水) 14:46:32.18 ID:TfqKuNVG.net
- 最近出たオライリーのHead First Python
第2版は買いですか?
- 140 :デフォルトの名無しさん:2018/03/28(水) 15:32:48.18 ID:wWS6mS4+.net
- Foot Last Pythonが出るまで待ちです。
- 141 :デフォルトの名無しさん:2018/03/28(水) 18:44:07.37 ID:c16Hwi83.net
- Head Firstは人を選ぶから自分で判断しなさい
俺はデザインパターンのを買ったが5ページで挫折した
あのノリにはついていけん
- 142 :デフォルトの名無しさん:2018/03/28(水) 20:36:48.44 ID:m/YBLUNl.net
- Hip Middle Python
は、いつ出ますか?
尻好きの私は待ち遠しくてたまりません。
- 143 :デフォルトの名無しさん:2018/03/28(水) 21:07:18.06 ID:zdJ231FE.net
- Head Firstは意識高い系な雰囲気が嫌い
Java系ばっかだと思ってたがPythonも出てんのね
- 144 :デフォルトの名無しさん:2018/03/30(金) 15:05:36.16 ID:jcL5BjSg.net
- python2.xと3.xを同居させられないの。
#ifdef(PYTHON3)
print('world')
#else
print 'world'
#endif とか。
- 145 :デフォルトの名無しさん:2018/03/30(金) 15:29:09.19 ID:pqp5DZ1s.net
- >>144
__future__ で両対応せよ
- 146 :デフォルトの名無しさん:2018/03/30(金) 15:41:59.16 ID:LJCUuJpX.net
- >>144
sixていうライブラリが便利
- 147 :デフォルトの名無しさん:2018/03/30(金) 15:49:21.37 ID:Ll1emnsv.net
- threading.Threadのrunにwin32com入れるにはpythoncom.CoInitialize()が必要というのは調べてわかったのですが、なぜこれが必要なのかわかりません
どなたかお教えいただければ幸いです
- 148 :デフォルトの名無しさん:2018/03/30(金) 17:43:53.70 ID:FxYI+k+J.net
- >>147
Win32 というか COM 自体がスレッド毎に CoInitialize が必要だから
- 149 :デフォルトの名無しさん:2018/03/30(金) 22:49:49.98 ID:HIF6e78a.net
- >>148
なるほどありがとうございます
- 150 :デフォルトの名無しさん:2018/03/31(土) 01:31:01.40 ID:HKQg3i4s.net
- windows10
python 3.6.4です
multiprocessingについて教えていただけないでしょうか?
ttps://docs.python.jp/3/library/multiprocessing.html
↑を見て例題にある
from multiprocessing import Process
def f(name):
print('hello', name)
if __name__ == '__main__':
p = Process(target=f, args=('bob',))
p.start()
p.join()
をやってみましたが
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\nanasi\AppData\Local\Programs\Python\Python36\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\Users\nanasi\AppData\Local\Programs\Python\Python36\lib\multiprocessing\spawn.py", line 115, in _main
self = reduction.pickle.load(from_parent)
AttributeError: Can't get attribute 'f' on <module '__main__' (built-in)>
というエラーがでて動きません。
いくつか他のもマルチプルプロセッシングがあるものをコピペしたりしてみたのですが
だいたいp.startのあたりでエラー出ます。
windowsではサポートしてない所があって動かないんでしょうか?
どうしたらwindowsで動くようになりますか?
- 151 :デフォルトの名無しさん:2018/03/31(土) 01:59:18.72 ID:uh3Jaudz.net
- >>150
普通に*.pyファイルに保存して、VisualStudioデバッガやPowerShellから動かせたけど・・・
対話モードだとダメっぽいね
- 152 :デフォルトの名無しさん:2018/03/31(土) 04:31:36.97 ID:2Z4gCLvW.net
- __main__じゃないからな
- 153 :150:2018/03/31(土) 22:04:28.61 ID:HKQg3i4s.net
- >>152
import しない限り__name__の中身って__main__になるんじゃなかったですっけ???
- 154 :デフォルトの名無しさん:2018/03/31(土) 22:25:31.18 ID:RRMYNfyR.net
- 気にしたこと無いけど取り敢えずプリントしてみなよ
- 155 :150:2018/03/31(土) 22:52:00.57 ID:HKQg3i4s.net
- >>154
メインでますね。
>>> print(__name__)
__main__
- 156 :デフォルトの名無しさん:2018/03/31(土) 23:02:30.33 ID:RRMYNfyR.net
- へぇ〜
- 157 :デフォルトの名無しさん:2018/04/01(日) 03:19:09.43 ID:MskEivG4.net
- 自分のいる場所が __main__ でも
def f() で f が作られる場所の問題じゃね
global f
してみ
- 158 :150:2018/04/01(日) 14:36:00.98 ID:PqizwVxV.net
- >>157
いたるところにglobal f 入れてみましたがpythonコマンドにコピペすると
動かないですね
def fのところの___name__調べてみましたが
あるところだけ__main__になってないですね・・・
sub=__main__ #ほかのdefをifの中で名前()で呼び出した場合
hello bob
mp=__mp_main__ #def fの中
mein=__main__ #ifの中
かといってif無しでやっても
おんなじエラー出ます。
とりあえず、.py保存してから実行なら動くから実際問題はないのかな?
- 159 :デフォルトの名無しさん:2018/04/01(日) 19:37:25.39 ID:i3M0z6WT.net
- ubuntuにanacondaをインストールしたのですけど、
pythonでは起動できなくて、python3で起動するように
なってしまいました。
インストールをどこか間違ったのでしょうか?
- 160 :デフォルトの名無しさん:2018/04/01(日) 20:31:59.52 ID:d99K3tnG.net
- echo $PATH
which python3
ってやってみろ
どうせパス通ってないだけ
- 161 :デフォルトの名無しさん:2018/04/01(日) 21:27:08.68 ID:8+KQdOcW.net
- >>159
python3に慣れておいた方がいい
- 162 :デフォルトの名無しさん:2018/04/01(日) 23:02:55.06 ID:ECJY99tL.net
- 漏れのWindows10・Ubuntu・WSL では、
which python3 (3.5)で、/usr/bin/python3 (3.5)
which python としても、そういうコマンドは無い。
そもそも、python2 か3か、あいまいだし
Windowsでは、元からpythonが入っていないから、
Anaconda をインストールするだけで良いけど、
Ubuntuだと、システムで使っているpythonが、元から入っているから、
もし、Anacondaのpythonのバージョンと異なると誤動作する
システムの方の/usr/bin/python3 を何かのアプリで使っている可能性があるから、
こちらは、うかつにバージョンアップできない
だから、Anacondaだけを仮想環境に閉じ込めて使えば、
自由にpythonのバージョンを変えても、システムに影響ない
Ruby on Rails を使うときの、rbenv みたいなもの。
Anacondaを、virtualenv(venv)で使えば?
- 163 :デフォルトの名無しさん:2018/04/01(日) 23:17:11.91 ID:Wu6copxJ.net
- pyenvだろ
- 164 :デフォルトの名無しさん:2018/04/01(日) 23:22:48.01 ID:c8SUuMzE.net
- conda createからのactivateするんじゃないの?
- 165 :デフォルトの名無しさん:2018/04/02(月) 04:35:50.85 ID:3ewhMOuh.net
- 先にやらんと手遅れになる
- 166 :デフォルトの名無しさん:2018/04/02(月) 09:28:50.22 ID:s7mweyB2.net
- >>162
仮想環境はインストールした後の話だろ。
Anacondaをインストールするだけならシステムには影響ない。
それとも、その「仮想環境」ってのはDockerとかVMのことを言っているのか?
- 167 :デフォルトの名無しさん:2018/04/02(月) 09:31:53.60 ID:YeEQ96Xi.net
- そいつに触るな
- 168 :デフォルトの名無しさん:2018/04/02(月) 09:43:17.23 ID:YeEQ96Xi.net
- 時期柄もあるだろうから書いておく
>>162はRubyスレを含む多数のスレで適当なことを書いて煙たがられているユーザーだ
触らないように
レス番号以外の固定ハンドルをつけている奴にも触らないように
それらは基本的に自意識過剰か承認欲求で頭がおかしくなっている
- 169 :デフォルトの名無しさん:2018/04/02(月) 18:13:02.77 ID:eTpURbiZ.net
- tupleをlistに変換したいのですが、ぐぐって見つけたコードを真似て入力してもTypeErrorになります。
t = ('one', 'two', 'three')
l = list(t)
なんか間違ってる?
- 170 :デフォルトの名無しさん:2018/04/02(月) 18:35:49.91 ID:DE0uBPvp.net
- >>169
間違ってない
うちのPython3.6.4のコマンドウインドウにコピペして実行した結果は以下のとおり
>>> t = ('one', 'two', 'three')
>>> l = list(t)
>>> l
['one', 'two', 'three']
- 171 :デフォルトの名無しさん:2018/04/02(月) 18:55:55.33 ID:eTpURbiZ.net
- 本当だ、コマンドウィンドウだと問題ないな・・・
- 172 :デフォルトの名無しさん:2018/04/02(月) 19:47:24.41 ID:sa9ZyrCn.net
- >>171
ファイル作ってもいけた
k = ('one', 'two', 'three')
l = list(k)
print(l)
- 173 :デフォルトの名無しさん:2018/04/02(月) 22:26:30.77 ID:wIbB0b4n.net
- こういうのはゲームだと思ってやらなきゃ…
仕事と思っちゃダメだ…楽しまないと覚えられん…
…何から手をつけて良いか分からん泣
- 174 :デフォルトの名無しさん:2018/04/02(月) 22:33:00.67 ID:gbB6Aon1.net
- 仕事なら目標が明確だから何から手を付けていいかわからんてことはないだろう
- 175 :遊園地:2018/04/02(月) 23:48:30.12 ID:LJEqcqCm.net
- 色々教えてくれた。スレ内の知り合いが、一年近く来ない。
今頃、どうしてるんだろう。
- 176 :デフォルトの名無しさん:2018/04/03(火) 00:56:56.37 ID:cU9BUIMs.net
- 秋田
- 177 :162:2018/04/03(火) 02:02:15.57 ID:hZewAlsv.net
- 漏れは、10言語ぐらい知ってるけど「みんなのPython」にも書いてある
Anaconda は、元からPython が入っていない、Windows を対象にしている。
元からPythonが入っていないから、
Pythonを入れても、バッティングしないから大丈夫
元からPythonが入っている環境では、
専門家じゃないと環境構築できないから、説明しないって書いてある
これは、Pythonを入れるとバッティングするから、
素人では環境構築できないっていう事
仮想OS とか、virtualenv(venv) とか、何らかの仮想環境を使わないと無理
漏れのWindows10・Ubuntu・WSL では、
which python3 (3.5)で、/usr/bin/python3 (3.5)
これを例えば、python3 を、3.5 とは異なるバージョンと結び付けたいのなら、
/usr/bin/python3 (3.5)よりも前方に、探索パスを追加しないといけない。
コマンドの実行ファイルは、探索パスの前方からの順に探されるから
だから、rbenv, virtualenv などで、activate すると、
$PATH の一番最初に、自分が使いたいバージョンのパスが追加される
PATH="$VIRTUAL_ENV/bin:$PATH"
まあ「python virtualenv 仕組み」で検索して
こういう仕組みを、初心者に説明するのが無理だから、
「みんなのPython」では説明していない
Linux の環境構築なんて、素人じゃ無理。
LPIC などの、Linux資格を持っていないと無理
- 178 :デフォルトの名無しさん:2018/04/03(火) 04:44:48.90 ID:QsfDg0d7.net
- 数だけ追うとこうなるという悪い見本
- 179 :デフォルトの名無しさん:2018/04/03(火) 08:24:49.81 ID:G1GaWyXd.net
- ダメだこりゃ。
- 180 :デフォルトの名無しさん:2018/04/03(火) 09:32:07.49 ID:u1C9H1Ty.net
- きっとrubyが欠陥言語だからユーザーがこんなんなんでしょうな
- 181 :デフォルトの名無しさん:2018/04/03(火) 09:49:39.77 ID:7FhHUoJB.net
- >>173
とりあえず覚えたいじゃなくて、仕事なら最初からやること決まってるじゃん?
自分は明確な目的がないから、思い付いたものはとりあえずpython で出来るかどうか試す、なんて無駄なことやってるぞ
この道に嵌まりたかったら、それで良いけど
- 182 :デフォルトの名無しさん:2018/04/03(火) 11:35:27.28 ID:R6gDm2yr.net
- 実際やろうと思えば出来てしまう
- 183 :遊園地:2018/04/03(火) 15:14:47.21 ID:oFzsxu0w.net
- テキスト内のキーワード指定して、集計データ返してくれるなら、
スクリプトじゃなくて良い。ただ、なでしこ言語は挫折した。
- 184 :デフォルトの名無しさん:2018/04/04(水) 01:30:08.57 ID:eXsheJZd.net
- >>182
神降臨
- 185 :デフォルトの名無しさん:2018/04/05(木) 01:01:12.89 ID:Qe5jM9cj.net
- 画像のような仕組みは何と言えば良いのですか?
取得したデータをPythonで画像のように出力したいので、やり方か仕組みを調べようとしたのですが、何と検索して良いのか分かりません
https://i.imgur.com/4fXnUAH.jpg
- 186 :デフォルトの名無しさん:2018/04/05(木) 02:04:09.01 ID:COvjSQ0t.net
- >>185
Windows なら python windows gui
Linux なら python linux gui
とかで検査
- 187 :デフォルトの名無しさん:2018/04/05(木) 02:12:11.97 ID:G4evJUNh.net
- >>185
PythonならWebアプリにしてHTMLで出力したほうがいいよ
ネイティブGUIをPythonで作ろうと思うと、極めてマイナーなフレームワークにどっぷり浸かることになる
極めても全く価値のないスキルであり、時間の無駄だ
- 188 :デフォルトの名無しさん:2018/04/05(木) 04:28:32.13 ID:mpYxecTp.net
- 本についてなんですが、ソーテック社の「いちばんやさしいPython入門教室」って
本は良いですか?
- 189 :デフォルトの名無しさん:2018/04/05(木) 07:39:52.11 ID:fmq90VfQ.net
- >>185
パワポ出力じゃあかんのか?
- 190 :デフォルトの名無しさん:2018/04/05(木) 09:53:13.44 ID:Qe5jM9cj.net
- 返答ありがとうございます
>>186
これがGUIというんですね…
よく耳にするTkinter がいいのかな?こちらも調べてみます
>>187
なるほどhtmlですか
こちらでも良さそう… 調べたら分かりやすかったので、こちらからやってみます スマホアプリにも出来そうですし
Python ってGUIを作るのが大変なんですね
>>189
その場でパッとデータを確認できたらいいことと、更新したら即データが反映されるようになってほしいので…
でも、パワポ出力は他で使えそうなのでまた調べてみます
- 191 :遊園地:2018/04/05(木) 10:47:59.49 ID:yVXnCZRq.net
- いつも、お世話に成ってますw
トランプからカードを引いて、マークつけを行いたいです。
関数Sample2の結果を返すにはどうすれば良いでしょうか?
教えて下さい。
https://ideone.com/085uNT
- 192 :デフォルトの名無しさん:2018/04/05(木) 15:22:14.86 ID:pkmC89pn.net
- sudo update-alternatives --config python
- 193 :デフォルトの名無しさん:2018/04/05(木) 18:37:25.68 ID:166ySDeQ.net
- >>186
怪しいので、身体を検査させてもらいます。
- 194 :デフォルトの名無しさん:2018/04/05(木) 23:52:36.33 ID:A+SSmePb.net
- >>189
出力だけで入力イラネであればパワポやpdf出力の方がファイルセーブもできて良いよな。
- 195 :デフォルトの名無しさん:2018/04/06(金) 23:17:04.19 ID:4KCjI5eb.net
- >>188
Amazonだと高評価だけどどうだろう
実際に本屋に行って見るのが良いかもね〜
かく言う俺もガチガチの初心者だから本探ししてる
- 196 :デフォルトの名無しさん:2018/04/06(金) 23:40:31.97 ID:eal1pYjS.net
- 「みんなのPython 第4版、2017」が定本
そこに、なでしこの作者・クジラ飛行机が参入。
その後、掌田津耶乃・大津真など、多言語の作者も参入
- 197 :デフォルトの名無しさん:2018/04/07(土) 03:30:14.58 ID:0IMs8tmt.net
- 1 2 3
4 5 6
7 8 9
の入力があった時に行ごとの計算結果を出したいときってどうしたらいいですか?
- 198 :デフォルトの名無しさん:2018/04/07(土) 04:03:02.27 ID:ic1KeMb4.net
- ちょっと状況分かんないけど
合計ならforで行ごとに
sum([1, 2, 3])
とか
- 199 :デフォルトの名無しさん:2018/04/07(土) 06:51:19.63 ID:WL4rZ6s4.net
- Ruby なら、
text = <<'EOT'
1 2 3
4 5 6
7 8 9
EOT
text.each_line do |line| # 1行ずつ処理する
# 末尾の改行を削除して、空白区切りで、配列に入れる
numbers = line.chomp!.split
# 数値に変換してから、配列内のすべての数字を足す
puts numbers.map(&:to_i).inject(:+)
end
- 200 :デフォルトの名無しさん:2018/04/07(土) 10:55:48.14 ID:0nAeQwXs.net
- 酷いなRuby。Perlの悪しき轍を踏んでいるのか。
- 201 :デフォルトの名無しさん:2018/04/07(土) 12:08:10.14 ID:BRhgC8GS.net
- >>197
pandas だと行ごとの map とか reduce とかあるし
- 202 :デフォルトの名無しさん:2018/04/07(土) 12:49:26.90 ID:vUF6Z2rf.net
- Flaskを使ってWebサービスを作ろうと思っています。
その裏ではある処理を行うPythonのプログラムがあって、
その結果をリアルタイムにWebページに反映するという仕組みを作りたいのです。
例えるなら時計のページのようなものです。
このようなものを実現する方法として、どの様にするのが良いでしょうか?
自分なりに考えてみたところでは次のようなやり方で出来るかなと思うのですが
なんだか無駄が多いような気がして、もっとスマートに実現出来るのでは?という気がします。
アドバイスを頂けると嬉しいです、よろしくお願いします。
(1)バックグラウンド処理の部分をthreadingを継承したクラスで作成し
(2)Webサービス本体となるapp.pyで、(1)をインスタンス化して実行
(3)(1)からの処理結果はapp.pyにコールバックで返却
(4)app.pyのコールバック関数はsocketioを使ってWebページに処理結果を送る
(5)websocketを受け取ったWebページは、処理結果をページに反映させる
- 203 :デフォルトの名無しさん:2018/04/07(土) 13:00:52.26 ID:BRhgC8GS.net
- Brython
- 204 :デフォルトの名無しさん:2018/04/07(土) 14:26:32.33 ID:z2/bO+GF.net
- >>188
「めんどうなことはpythonにさせよう」が面白かった。
- 205 :デフォルトの名無しさん:2018/04/07(土) 14:35:20.07 ID:nRtWZzWw.net
- >>202
リアルタイムで更新したいならフロントエンドにreactを使え
- 206 :遊園地:2018/04/07(土) 15:07:01.03 ID:77S40Xyy.net
- >>197
#スペース区切りの数字を受け取り 3回
#l=[list(map(int,input().split())) for _ in range(3)]
#完成するデータ
l=[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
#横の合計
[print(sum(i)) for i in l]
#改行
print()
#縦の合計
[print(sum(i)) for i in list(zip(*l))]
- 207 :デフォルトの名無しさん:2018/04/07(土) 15:17:10.46 ID:2Xz4c+5M.net
- こんくらいブラウザでやれば?
`
1 2 3
4 5 6
7 8 9
`
.trim().split`\n`
.map(row => row.split` `.map(Number).reduce((a, b) => a + b))
.forEach(rowSum => console.log(rowSum));
- 208 :デフォルトの名無しさん:2018/04/07(土) 17:08:57.70 ID:p0Pua3Pc.net
- javaみたいな気持ち悪さ
- 209 :デフォルトの名無しさん:2018/04/07(土) 17:27:49.50 ID:7ZRXk+Y5.net
- なんで最近のプログラミング界ではforが迫害されてmapやreduceがもてはやされてるの?
初心者には分かりにくいと思うんだが。
- 210 :デフォルトの名無しさん:2018/04/07(土) 17:49:01.49 ID:4dLkJWTk.net
- 初心者のことなど知らん
- 211 :デフォルトの名無しさん:2018/04/07(土) 20:07:36.83 ID:VRHJEDN5.net
- s.split(",")
s.replace(",","\t")
",".join(s)
joinだけ何故こんな文法に?
- 212 :デフォルトの名無しさん:2018/04/07(土) 20:15:43.06 ID:WHguHUHL.net
- >>209
基本的には、パフォーマンス上のメリットがあるから。
けれど、PythonやJavaScript(ES6)の場合はジェネレータもあるので、
パフォーマンスを保ちつつ、for文を使ったやさしい書き方もできる。
Javaだと、ガチで>>207の書き方しかできない。
- 213 :デフォルトの名無しさん:2018/04/07(土) 20:19:53.21 ID:iO/NW/s5.net
- >>211
join を文字列のメソッドにしたかったから
- 214 :デフォルトの名無しさん:2018/04/07(土) 20:26:18.12 ID:Iu5gYSvH.net
- Python の join() が文字列型のメソッドである理由
https://www.lifewithpython.com/2017/07/why-python-join-is-string-method.html
- 215 :デフォルトの名無しさん:2018/04/07(土) 22:15:55.69 ID:u6SiCNsb.net
- >>210
仕事でソフト開発している人が、初心者のために分かりやすいコーディングをしているとは思えないよな。
- 216 :188:2018/04/07(土) 22:55:32.20 ID:UAWtR4Cc.net
- >>195
あっ、レス付いてる
ありがとうございます
注文することにしました
読んでみたらレビューしますね
- 217 :デフォルトの名無しさん:2018/04/08(日) 00:14:01.39 ID:j+FIppRr.net
- >>202
このスレのレベルを超えた質問で場違いな感じの質問だな
- 218 :デフォルトの名無しさん:2018/04/08(日) 01:12:18.12 ID:s6V+xdvY.net
- >>215
逆だよ。仕事でソフト開発している人が、難読コードを書いちゃいかんだろ。
- 219 :デフォルトの名無しさん:2018/04/08(日) 01:18:01.50 ID:kOs0IpX+.net
- >>218
例えば、リスト内包表記は慣れたらめちゃくちゃわかりやすいんだけど、初心者には不評
でも慣れてる人にはわかりやすいから内包表記を使いまくるってことだろう
- 220 :デフォルトの名無しさん:2018/04/08(日) 01:33:34.80 ID:ikNNlzZg.net
- >>212
>>207よりこっちのほうが分かりやすいと?そうかなぁ?
昔ながらのfor文に慣れてるからそう思うだけで、初心者に聞いてみたらむしろ逆なんじゃない?知らんけど
何より識別子が増えて名付けが辛い。
const mat = `
1 2 3
4 5 6
7 8 9
`.trim();
for (const row of mat.split`\n`) {
const rowAry = row.split` `;
let rowSum = 0;
for (const cel of rowAry) {
rowSum += Number(cel);
}
console.log(rowSum);
}
- 221 :デフォルトの名無しさん:2018/04/08(日) 02:22:57.13 ID:jNVGKdq/.net
- joinは文字列の連結がウリなのに、引数を一個しか指定できないのが謎過ぎる
",".join("A","B","C")ってやりたい時に、実際はあらかじめ"A","B","C"をリストに入れるか
+で連結しとかんといかんって本末転倒だろ
- 222 :デフォルトの名無しさん:2018/04/08(日) 02:36:06.55 ID:6R1G24Uu.net
- >>221
[ ]で囲むだけだろ
Pythonでは可変長引数はあまり好まれない
- 223 :デフォルトの名無しさん:2018/04/08(日) 06:58:14.21 ID:gxaJAEYd.net
- >>210
ここ超初心者のスレ。
- 224 :デフォルトの名無しさん:2018/04/08(日) 10:08:27.26 ID:kOs0IpX+.net
- >>223
いや、>>210は>>209への返答よ?
- 225 :デフォルトの名無しさん:2018/04/08(日) 11:41:56.18 ID:YK+KPtHu.net
- >>209
初心者はどっちから教えても一緒だと思う
- 226 :デフォルトの名無しさん:2018/04/08(日) 11:55:02.04 ID:9/UswNDz.net
- >>225
俺も大差ないと思う
forでダラダラ書くより、map,reduce,filterで簡素に書けるなら使ったほうがいいからな
- 227 :デフォルトの名無しさん:2018/04/08(日) 16:29:56.48 ID:MFf7xIr6.net
- こんにちは
タイムカードを処理するアプリを作りたいと思っていて、月の勤務記録を一括で読み込んで実労働時間を出そうと思ってます。
1行毎(1日毎)に実労働時間を出して最後にそれを全て足そうと思っているのですが、行ごとの処理の仕方がわからないんです…
ご回答よろしくお願いします。
- 228 :デフォルトの名無しさん:2018/04/08(日) 16:43:00.39 ID:GoOLzpCW.net
- 一行分の入力データと
一行分の入力データから得たい出力データを記載しろ
- 229 :デフォルトの名無しさん:2018/04/08(日) 16:48:16.19 ID:MFf7xIr6.net
- 1行分の入力 2017/03/01 12:00-15:00 16:00-24:00
出力 11
こんな感じです
そもそもsys.stdin.readlines()で処理するのが正しいんですかね
- 230 :デフォルトの名無しさん:2018/04/08(日) 16:59:45.98 ID:nkM5b3tX.net
- pandas.read_from_hogehoge
- 231 :デフォルトの名無しさん:2018/04/08(日) 17:46:41.40 ID:6sp2I/Ld.net
- >>> import datetime
>>> import pandas
>>> from io import StringIO
>>> mindif = lambda s: (lambda x: td(x[1])-td(x[0]))(s.split('-'))
>>> td = lambda s: (lambda x: datetime.timedelta(hours=x[0], minutes=x[1]))(list(map(int, s.split(':'))))
>>> f = StringIO('''\
2017/03/01 12:00-15:00 16:00-24:00
2017/03/01 12:00-15:00 16:00-24:00
2017/03/01 12:00-15:00 16:00-24:00
2017/03/01 12:00-15:00 16:00-24:00
''')
>>> a = pandas.read_table(f, header=None, sep=' ')
>>> a[3] = a[1].map(mindif)
>>> a[4] = a[2].map(mindif)
>>> a
0 1 2 3 4
0 2017/03/01 12:00-15:00 16:00-24:00 03:00:00 08:00:00
1 2017/03/01 12:00-15:00 16:00-24:00 03:00:00 08:00:00
2 2017/03/01 12:00-15:00 16:00-24:00 03:00:00 08:00:00
3 2017/03/01 12:00-15:00 16:00-24:00 03:00:00 08:00:00
- 232 :デフォルトの名無しさん:2018/04/08(日) 17:50:59.38 ID:6sp2I/Ld.net
- >>> a[3] = a[1].map(mindif)
>>> a[4] = a[2].map(mindif)
この2行は
>>> a[3] = a[1].map(mindif) + a[2].map(mindif)
だけで良かった 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
- 233 :デフォルトの名無しさん:2018/04/08(日) 18:54:45.02 ID:1mmlbc0v.net
- Ruby だと、時刻に、24時は無いけど。
23まで
午前中は、どう表記してる?
03:05, 3:05 のどっち?
- 234 :遊園地:2018/04/08(日) 20:12:56.50 ID:gmVtfD5c.net
- >>229
ごめん。仕様ミスで行数が増えたら対処できない。
そこは改変してくれ。
https://ideone.com/1izELX
- 235 :遊園地:2018/04/08(日) 20:22:54.67 ID:gmVtfD5c.net
- なんか、知らんけど腕が落ちてる。
- 236 :デフォルトの名無しさん:2018/04/08(日) 20:26:08.17 ID:3hKhfzCU.net
- 拾っとけ拾っとけ1割もらえるかもよ
- 237 :遊園地:2018/04/08(日) 20:30:56.58 ID:gmVtfD5c.net
- そっちじゃねえよww
総レス数 992
262 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200