[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/13 01:58 / Filesize : 261 KB / Number-of Response : 1026
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPython(超初心者用) その37



1 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 16:32:25.91 ID:S1lkLDnv.net]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その36
mevius.2ch.net/test/read.cgi/tech/1514805522/

147 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 21:07:18.06 ID:zdJ231FE.net]
Head Firstは意識高い系な雰囲気が嫌い
Java系ばっかだと思ってたがPythonも出てんのね

148 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 15:05:36.16 ID:jcL5BjSg.net]
python2.xと3.xを同居させられないの。
#ifdef(PYTHON3)
print('world')
#else
print 'world'
#endif とか。

149 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 15:29:09.19 ID:pqp5DZ1s.net]
>>144
__future__ で両対応せよ

150 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 15:41:59.16 ID:LJCUuJpX.net]
>>144
sixていうライブラリが便利

151 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 15:49:21.37 ID:Ll1emnsv.net]
threading.Threadのrunにwin32com入れるにはpythoncom.CoInitialize()が必要というのは調べてわかったのですが、なぜこれが必要なのかわかりません
どなたかお教えいただければ幸いです

152 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 17:43:53.70 ID:FxYI+k+J.net]
>>147
Win32 というか COM 自体がスレッド毎に CoInitialize が必要だから

153 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 22:49:49.98 ID:HIF6e78a.net]
>>148
なるほどありがとうございます

154 名前:デフォルトの名無しさん [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で動くようになりますか?

155 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 01:59:18.72 ID:uh3Jaudz.net]
>>150
普通に*.pyファイルに保存して、VisualStudioデバッガやPowerShellから動かせたけど・・・
対話モードだとダメっぽいね



156 名前:デフォルトの名無しさん [2018/03/31(土) 04:31:36.97 ID:2Z4gCLvW.net]
__main__じゃないからな

157 名前:150 [2018/03/31(土) 22:04:28.61 ID:HKQg3i4s.net]
>>152
import しない限り__name__の中身って__main__になるんじゃなかったですっけ???

158 名前:デフォルトの名無しさん [2018/03/31(土) 22:25:31.18 ID:RRMYNfyR.net]
気にしたこと無いけど取り敢えずプリントしてみなよ

159 名前:150 [2018/03/31(土) 22:52:00.57 ID:HKQg3i4s.net]
>>154
メインでますね。
>>> print(__name__)
__main__

160 名前:デフォルトの名無しさん [2018/03/31(土) 23:02:30.33 ID:RRMYNfyR.net]
へぇ〜

161 名前:デフォルトの名無しさん [2018/04/01(日) 03:19:09.43 ID:MskEivG4.net]
自分のいる場所が __main__ でも
def f() で f が作られる場所の問題じゃね
global f
してみ

162 名前: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保存してから実行なら動くから実際問題はないのかな?

163 名前:デフォルトの名無しさん [2018/04/01(日) 19:37:25.39 ID:i3M0z6WT.net]
ubuntuにanacondaをインストールしたのですけど、
pythonでは起動できなくて、python3で起動するように
なってしまいました。
インストールをどこか間違ったのでしょうか?

164 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 20:31:59.52 ID:d99K3tnG.net]
echo $PATH
which python3
ってやってみろ
どうせパス通ってないだけ

165 名前:デフォルトの名無しさん [2018/04/01(日) 21:27:08.68 ID:8+KQdOcW.net]
>>159
python3に慣れておいた方がいい



166 名前:デフォルトの名無しさん mailto:sage [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)で使えば?

167 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 23:17:11.91 ID:Wu6copxJ.net]
pyenvだろ

168 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 23:22:48.01 ID:c8SUuMzE.net]
conda createからのactivateするんじゃないの?

169 名前:デフォルトの名無しさん [2018/04/02(月) 04:35:50.85 ID:3ewhMOuh.net]
先にやらんと手遅れになる

170 名前:デフォルトの名無しさん [2018/04/02(月) 09:28:50.22 ID:s7mweyB2.net]
>>162
仮想環境はインストールした後の話だろ。
Anacondaをインストールするだけならシステムには影響ない。
それとも、その「仮想環境」ってのはDockerとかVMのことを言っているのか?

171 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 09:31:53.60 ID:YeEQ96Xi.net]
そいつに触るな

172 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 09:43:17.23 ID:YeEQ96Xi.net]
時期柄もあるだろうから書いておく

>>162はRubyスレを含む多数のスレで適当なことを書いて煙たがられているユーザーだ
触らないように

レス番号以外の固定ハンドルをつけている奴にも触らないように
それらは基本的に自意識過剰か承認欲求で頭がおかしくなっている

173 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 18:13:02.77 ID:eTpURbiZ.net]
tupleをlistに変換したいのですが、ぐぐって見つけたコードを真似て入力してもTypeErrorになります。
t = ('one', 'two', 'three')
l = list(t)

なんか間違ってる?

174 名前:デフォルトの名無しさん mailto:sage [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']

175 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 18:55:55.33 ID:eTpURbiZ.net]
本当だ、コマンドウィンドウだと問題ないな・・・



176 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 19:47:24.41 ID:sa9ZyrCn.net]
>>171
ファイル作ってもいけた

k = ('one', 'two', 'three')
l = list(k)
print(l)

177 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 22:26:30.77 ID:wIbB0b4n.net]
こういうのはゲームだと思ってやらなきゃ…
仕事と思っちゃダメだ…楽しまないと覚えられん…
…何から手をつけて良いか分からん泣

178 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 22:33:00.67 ID:gbB6Aon1.net]
仕事なら目標が明確だから何から手を付けていいかわからんてことはないだろう

179 名前:遊園地 mailto:age [2018/04/02(月) 23:48:30.12 ID:LJEqcqCm.net]
色々教えてくれた。スレ内の知り合いが、一年近く来ない。
今頃、どうしてるんだろう。

180 名前:デフォルトの名無しさん [2018/04/03(火) 00:56:56.37 ID:cU9BUIMs.net]
秋田

181 名前:162 mailto:sage [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資格を持っていないと無理

182 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 04:44:48.90 ID:QsfDg0d7.net]
数だけ追うとこうなるという悪い見本

183 名前:デフォルトの名無しさん [2018/04/03(火) 08:24:49.81 ID:G1GaWyXd.net]
ダメだこりゃ。

184 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 09:32:07.49 ID:u1C9H1Ty.net]
きっとrubyが欠陥言語だからユーザーがこんなんなんでしょうな

185 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 09:49:39.77 ID:7FhHUoJB.net]
>>173
とりあえず覚えたいじゃなくて、仕事なら最初からやること決まってるじゃん?

自分は明確な目的がないから、思い付いたものはとりあえずpython で出来るかどうか試す、なんて無駄なことやってるぞ
この道に嵌まりたかったら、それで良いけど



186 名前:デフォルトの名無しさん [2018/04/03(火) 11:35:27.28 ID:R6gDm2yr.net]
実際やろうと思えば出来てしまう

187 名前:遊園地 mailto:sage [2018/04/03(火) 15:14:47.21 ID:oFzsxu0w.net]
テキスト内のキーワード指定して、集計データ返してくれるなら、
スクリプトじゃなくて良い。ただ、なでしこ言語は挫折した。

188 名前:デフォルトの名無しさん [2018/04/04(水) 01:30:08.57 ID:eXsheJZd.net]
>>182
神降臨

189 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 01:01:12.89 ID:Qe5jM9cj.net]
画像のような仕組みは何と言えば良いのですか?

取得したデータをPythonで画像のように出力したいので、やり方か仕組みを調べようとしたのですが、何と検索して良いのか分かりません

https://i.imgur.com/4fXnUAH.jpg

190 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 02:04:09.01 ID:COvjSQ0t.net]
>>185
Windows なら python windows gui
Linux なら python linux gui
とかで検査

191 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 02:12:11.97 ID:G4evJUNh.net]
>>185
PythonならWebアプリにしてHTMLで出力したほうがいいよ
ネイティブGUIをPythonで作ろうと思うと、極めてマイナーなフレームワークにどっぷり浸かることになる
極めても全く価値のないスキルであり、時間の無駄だ

192 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 04:28:32.13 ID:mpYxecTp.net]
本についてなんですが、ソーテック社の「いちばんやさしいPython入門教室」って
本は良いですか?

193 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 07:39:52.11 ID:fmq90VfQ.net]
>>185
パワポ出力じゃあかんのか?

194 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 09:53:13.44 ID:Qe5jM9cj.net]
返答ありがとうございます

>>186
これがGUIというんですね…
よく耳にするTkinter がいいのかな?こちらも調べてみます

>>187
なるほどhtmlですか
こちらでも良さそう… 調べたら分かりやすかったので、こちらからやってみます スマホアプリにも出来そうですし
Python ってGUIを作るのが大変なんですね

>>189
その場でパッとデータを確認できたらいいことと、更新したら即データが反映されるようになってほしいので…
でも、パワポ出力は他で使えそうなのでまた調べてみます

195 名前:遊園地 mailto:age [2018/04/05(木) 10:47:59.49 ID:yVXnCZRq.net]
いつも、お世話に成ってますw

トランプからカードを引いて、マークつけを行いたいです。
関数Sample2の結果を返すにはどうすれば良いでしょうか?
教えて下さい。


https://ideone.com/085uNT



196 名前:デフォルトの名無しさん [2018/04/05(木) 15:22:14.86 ID:pkmC89pn.net]
sudo update-alternatives --config python

197 名前:デフォルトの名無しさん [2018/04/05(木) 18:37:25.68 ID:166ySDeQ.net]
>>186
怪しいので、身体を検査させてもらいます。

198 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 23:52:36.33 ID:A+SSmePb.net]
>>189
出力だけで入力イラネであればパワポやpdf出力の方がファイルセーブもできて良いよな。

199 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 23:17:04.19 ID:4KCjI5eb.net]
>>188
Amazonだと高評価だけどどうだろう
実際に本屋に行って見るのが良いかもね〜
かく言う俺もガチガチの初心者だから本探ししてる

200 名前:デフォルトの名無しさん [2018/04/06(金) 23:40:31.97 ID:eal1pYjS.net]
「みんなのPython 第4版、2017」が定本

そこに、なでしこの作者・クジラ飛行机が参入。
その後、掌田津耶乃・大津真など、多言語の作者も参入

201 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 03:30:14.58 ID:0IMs8tmt.net]
1 2 3
4 5 6
7 8 9
の入力があった時に行ごとの計算結果を出したいときってどうしたらいいですか?

202 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 04:03:02.27 ID:ic1KeMb4.net]
ちょっと状況分かんないけど
合計ならforで行ごとに
sum([1, 2, 3])
とか

203 名前:デフォルトの名無しさん mailto:sage [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

204 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 10:55:48.14 ID:0nAeQwXs.net]
酷いなRuby。Perlの悪しき轍を踏んでいるのか。

205 名前:デフォルトの名無しさん [2018/04/07(土) 12:08:10.14 ID:BR ]
[ここ壊れてます]



206 名前:hgC8GS.net mailto: >>197
pandas だと行ごとの map とか reduce とかあるし
[]
[ここ壊れてます]

207 名前:デフォルトの名無しさん [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ページは、処理結果をページに反映させる

208 名前:デフォルトの名無しさん [2018/04/07(土) 13:00:52.26 ID:BRhgC8GS.net]
Brython

209 名前:デフォルトの名無しさん [2018/04/07(土) 14:26:32.33 ID:z2/bO+GF.net]
>>188
「めんどうなことはpythonにさせよう」が面白かった。

210 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 14:35:20.07 ID:nRtWZzWw.net]
>>202
リアルタイムで更新したいならフロントエンドにreactを使え

211 名前:遊園地 mailto:sage [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))]

212 名前:デフォルトの名無しさん mailto:sage [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));

213 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 17:08:57.70 ID:p0Pua3Pc.net]
javaみたいな気持ち悪さ

214 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 17:27:49.50 ID:7ZRXk+Y5.net]
なんで最近のプログラミング界ではforが迫害されてmapやreduceがもてはやされてるの?
初心者には分かりにくいと思うんだが。

215 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 17:49:01.49 ID:4dLkJWTk.net]
初心者のことなど知らん



216 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 20:07:36.83 ID:VRHJEDN5.net]
s.split(",")
s.replace(",","\t")
",".join(s)
joinだけ何故こんな文法に?

217 名前:デフォルトの名無しさん [2018/04/07(土) 20:15:43.06 ID:WHguHUHL.net]
>>209
基本的には、パフォーマンス上のメリットがあるから。
けれど、PythonやJavaScript(ES6)の場合はジェネレータもあるので、
パフォーマンスを保ちつつ、for文を使ったやさしい書き方もできる。
Javaだと、ガチで>>207の書き方しかできない。

218 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 20:19:53.21 ID:iO/NW/s5.net]
>>211
join を文字列のメソッドにしたかったから

219 名前:デフォルトの名無しさん mailto:sage [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

220 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 22:15:55.69 ID:u6SiCNsb.net]
>>210
仕事でソフト開発している人が、初心者のために分かりやすいコーディングをしているとは思えないよな。

221 名前:188 mailto:sage [2018/04/07(土) 22:55:32.20 ID:UAWtR4Cc.net]
>>195
あっ、レス付いてる
ありがとうございます
注文することにしました
読んでみたらレビューしますね

222 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 00:14:01.39 ID:j+FIppRr.net]
>>202
このスレのレベルを超えた質問で場違いな感じの質問だな

223 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 01:12:18.12 ID:s6V+xdvY.net]
>>215
逆だよ。仕事でソフト開発している人が、難読コードを書いちゃいかんだろ。

224 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 01:18:01.50 ID:kOs0IpX+.net]
>>218
例えば、リスト内包表記は慣れたらめちゃくちゃわかりやすいんだけど、初心者には不評
でも慣れてる人にはわかりやすいから内包表記を使いまくるってことだろう

225 名前:デフォルトの名無しさん mailto:sage [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);
}



226 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 02:22:57.13 ID:jNVGKdq/.net]
joinは文字列の連結がウリなのに、引数を一個しか指定できないのが謎過ぎる
",".join("A","B","C")ってやりたい時に、実際はあらかじめ"A","B","C"をリストに入れるか
+で連結しとかんといかんって本末転倒だろ

227 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 02:36:06.55 ID:6R1G24Uu.net]
>>221
[ ]で囲むだけだろ
Pythonでは可変長引数はあまり好まれない

228 名前:デフォルトの名無しさん [2018/04/08(日) 06:58:14.21 ID:gxaJAEYd.net]
>>210
ここ超初心者のスレ。

229 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 10:08:27.26 ID:kOs0IpX+.net]
>>223
いや、>>210>>209への返答よ?

230 名前:デフォルトの名無しさん [2018/04/08(日) 11:41:56.18 ID:YK+KPtHu.net]
>>209
初心者はどっちから教えても一緒だと思う

231 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 11:55:02.04 ID:9/UswNDz.net]
>>225
俺も大差ないと思う
forでダラダラ書くより、map,reduce,filterで簡素に書けるなら使ったほうがいいからな

232 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 16:29:56.48 ID:MFf7xIr6.net]
こんにちは
タイムカードを処理するアプリを作りたいと思っていて、月の勤務記録を一括で読み込んで実労働時間を出そうと思ってます。
1行毎(1日毎)に実労働時間を出して最後にそれを全て足そうと思っているのですが、行ごとの処理の仕方がわからないんです…
ご回答よろしくお願いします。

233 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 16:43:00.39 ID:GoOLzpCW.net]
一行分の入力データと
一行分の入力データから得たい出力データを記載しろ

234 名前:デフォルトの名無しさん mailto:sage [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()で処理するのが正しいんですかね

235 名前:デフォルトの名無しさん [2018/04/08(日) 16:59:45.98 ID:nkM5b3tX.net]
pandas.read_from_hogehoge



236 名前:デフォルトの名無しさん mailto:sage [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 2

237 名前:017/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
[]
[ここ壊れてます]

238 名前:デフォルトの名無しさん [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)


239 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 18:54:45.02 ID:1mmlbc0v.net]
Ruby だと、時刻に、24時は無いけど。
23まで

午前中は、どう表記してる?
03:05, 3:05 のどっち?

240 名前:遊園地 mailto:age [2018/04/08(日) 20:12:56.50 ID:gmVtfD5c.net]
>>229
ごめん。仕様ミスで行数が増えたら対処できない。
そこは改変してくれ。

https://ideone.com/1izELX

241 名前:遊園地 mailto:sage [2018/04/08(日) 20:22:54.67 ID:gmVtfD5c.net]
なんか、知らんけど腕が落ちてる。

242 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 20:26:08.17 ID:3hKhfzCU.net]
拾っとけ拾っとけ1割もらえるかもよ

243 名前:遊園地 mailto:sage [2018/04/08(日) 20:30:56.58 ID:gmVtfD5c.net]
そっちじゃねえよww

244 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 21:23:41.29 ID:MFf7xIr6.net]
>>233
午前中は5:00まで29:00の仕様です

245 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 21:24:04.77 ID:MFf7xIr6.net]
助かります。参考に書いてみます



246 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 21:46:24.45 ID:5trngRbI.net]
>>238
5時がタイムカード上では29時なんか
夜23時から早朝の5時勤務の場合
タイムカードは23:00-29:00
夜23時から早朝の6:00時勤務の場合
タイムカードは23:00-06:00
夜1時から早朝の5時勤務の場合
タイムカードは25:00-29:00
とかになるのか

247 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 22:02:44.17 ID:MFf7xIr6.net]
>>240
そうです
なのであり得ませんがフル勤務の場合は5:00-29:00になりますね






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<261KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef