1 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 23:44:57 ] Pythonオフィシャルサイト www.python.org/ 日本Pythonユーザ会 www.python.jp/Zope/ まとめWiki python.rdy.jp/ 関連スレ find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python 前スレ pc11.2ch.net/test/read.cgi/tech/1226830195/
231 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:14:28 ] 1. #!/usr/bin/env python 2. # -*- coding: hoge -*- 3. 4. import socket 5. import sys 6.
232 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:25:29 ] >>231 それっぽいw
233 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:58:53 ] PEP8守ってないから訓練されたPythonistaじゃないな
234 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:54:52 ] パイソニスタじゃなくてパイソニアンがいい
235 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 19:03:38 ] Pythonista, Pythonian, Pythonese, Pythonist, Pythoner どれでも好きなのを選ぶといい
236 名前:デフォルトの名無しさん [2009/01/17(土) 19:06:40 ] 日本語なら「Py使い」でいいでしょ。
237 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 19:15:42 ] お、py使い
238 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 20:18:26 ] 訓練されてないのは、盲py
239 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 20:51:27 ] PEP8守って書き直すとどうなりますか
240 名前:38 mailto:sage [2009/01/18(日) 16:23:33 ] へんじがない、ただのぱいそにすたのようだ
241 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 22:58:52 ] ttp://www.dotup.org/uploda/www.dotup.org17528.png PEP3を出来る限り守ったらこんな変なコードになってしまったんですが どうすればいいですか?
242 名前:241 mailto:sage [2009/01/18(日) 22:59:26 ] PEP3じゃなくてPEP8でした
243 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:01:43 ] geditかこれ
244 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:24:11 ] ただものじゃないEmEditorです
245 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:28:20 ] どうすればいいですか?
246 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:31:27 ] 一見して>>241 のどこがヘンなのかわからなかったw Lispならカッコは右下に連打するだろうな、とは思ったが…… 一行79文字縛りがキツい、という話?
247 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:40:05 ] はい…
248 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:40:11 ] >>246 変じゃないなら別にいいです
249 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:42:41 ] >>241 正規表現を事前にコンパイルしてre.subの引数を減らせばいいんじゃね?
250 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 00:50:41 ] 入れ子のre.subの呼び出しを、複数の文に分ければいいと思うよ x = re.sub(a, re.sub(b, c, d), x) みたいなのを y = re.sub(b, c, d) x = re.sub(a, y, x) と書く どうせ一行に収まらないのなら、入れ子で書いても読みにくくなってるだけでしょ 「流れるインタフェース」でもないのだし
251 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 01:40:56 ] まともな回答はありません‥
252 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 04:19:25 ] )に違和感
253 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 04:40:45 ] >>241 うわっ、汚い。。。 普通は re_subs みたいな関数書いて、順にre.subが適用されるようにする。 あと、そのエディター酷いね。。色付けすらちゃんとされてないじゃん。
254 名前:241 mailto:sage [2009/01/19(月) 04:50:38 ] >>253 そのカンスゥー貼って下さい…
255 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 05:16:45 ] >>254 そのぐらい自分で書けないと。 初心者レベルの難易度だよ。
256 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 08:15:14 ] >>255 あのー、かんすーお願いします‥ なぜPythonスレの人たちはレベル低いのだろう
257 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 08:40:29 ] お前のレベルが低いだけ
258 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 08:41:27 ] お前のレベルが低いだけ
259 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 08:44:36 ] >>256 知能低いのかね。小学生でも書けそうな関数だとおもうが。
260 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 14:35:17 ] あの、カンスゥーまだですか・・・?
261 名前:デフォルトの名無しさん [2009/01/19(月) 18:07:26 ] >>260 こんなんでいいのか? ttp://stat001.ameba.jp/user_images/cb/2d/10040538808.png
262 名前:デフォルトの名無しさん [2009/01/19(月) 18:07:44 ] jp.youtube.com/watch?v=LC1xSR_xxuk
263 名前:デフォルトの名無しさん [2009/01/19(月) 18:08:51 ] >>262 このカンスゥーは無表情すぎて怖い
264 名前:デフォルトの名無しさん [2009/01/19(月) 18:23:11 ] >>1 の和訳チュートリヤルに嘘ばっかり書いてあるな print 'Hello, world!' ってやってもエラーになる 嘘ばっかだなと思って 英語のほうを見たら print ('Hello, world!') って書いてあったので そのとおりやったらできた。 >>1はうそつき超汚染人だ!
265 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 18:24:56 ] >>1 の和訳チュートリヤルに嘘ばっかり書いてあるな print 'Hello, world!' ってやってもエラーになる 嘘ばっかだなと思って 英語のほうを見たら print ('Hello, world!') って書いてあったので そのとおりやったらできた。 >>1はうそつき超汚染人だ!
266 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 18:25:00 ] >>1 の和訳チュートリヤルに嘘ばっかり書いてあるな print 'Hello, world!' ってやってもエラーになる 嘘ばっかだなと思って 英語のほうを見たら print ('Hello, world!') って書いてあったので そのとおりやったらできた。 >>1はうそつき超汚染人だ!
267 名前:デフォルトの名無しさん [2009/01/19(月) 18:35:47 ] >>264-266 初心者丸出し と釣られてみる
268 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 21:01:28 ] 初心者っていきなり 3 触るの?
269 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 21:43:20 ] 最新版にβとつければ初心者はさわらないかもね
270 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 22:04:50 ] Python初めて1週間 3.0→2.3.4jp→2.6.1→2.5.1
271 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 22:14:51 ] 2.5.1→2.6.1→3.0→2.5.1→2.6.1 printが強制的にカンスゥーになってたり rangeがオブジェクト返すようになっててちょっと困惑するんだよね
272 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 22:52:18 ] printは自発的に関数になったと風の便りに聞いたよ…
273 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 23:16:29 ] #2.6 x = range(100) #3.0 x = [i for i in range(100)]
274 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 23:34:58 ] list(range(100))
275 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 00:21:09 ] 結構変わったんだな。3は。
276 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 01:17:08 ] >>273 3はなんだかちょっと面倒だなって気がしてきた
277 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 01:19:52 ] 志村!
278 名前:デフォルトの名無しさん [2009/01/20(火) 07:10:13 ] あのー、回答待ってるですがまだですか? パイソンのスレッドって馬鹿しかいないなー
279 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 08:03:22 ] rangeでリストを作るなんて滅多にしないだろうに。
280 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 08:26:21 ] [i for i in range(100)] に必死で突っ込むひとまだですか?
281 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 08:35:03 ] ところで、2.6って2.5に対して完全に上位互換? 2.5用のライブラリで2.6で動かなくなったのってある?
282 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 10:49:45 ] >>281 基本的には 2.5 -> 2.6 では減っているものはない。 The *** module has been deprecated for removal in Python 3.0. という形で 3.0 でなくなる予定のライブラリは -3 オブションで警告がでるのみ。 実際に標準ライブラリから外されるのは 3.0 から。 但し、細部では各ライブラリのバージョン・アップによる変更があるので、 ライブラリ自体が動かなくなったものは知らないが、# >>> import test.autotest を参考に。 それを使ったコードの方で修正が必要なものはあるかもしれない。
283 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 15:25:18 ] >>206 #!/usr/bin/env python # -*- coding: ascii -*- import socket import sys try: host, frm, to = sys.argv[1: 4] except ValueError: print "Usage: %s <host> <from> <to>" % (sys.argv[0]) sys.exit(1) print "Connecting to %s:25 ..." % (host) sock = socket.socket() try: idx = host.index(':') except ValueError: addr = (host, 25) else: addr = (host[:idx], int(host[idx + 1:])) sock.connect(addr) print "Connected"
284 名前: ◆TINKO/J0J6 [2009/01/20(火) 16:54:58 ] import tinko
285 名前: ◆UNKOVIP9RM [2009/01/20(火) 16:56:15 ] import unko
286 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 16:57:28 ] unkoはexportするものだろ
287 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 17:56:07 ] from anal export unko
288 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 17:56:14 ] 自然数k,p,qについて k=mp+nq(m,nは「0以上の整数」)を満たす(m,n)の組の数をv(k)とするとき p=3, q=7, kが1から100までのときの結果vの一覧を出力したいです どのように書いたらいいですか?
289 名前: ◆UNKOVIP9RM [2009/01/20(火) 17:58:02 ] >>288 ggks
290 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 18:05:00 ] p=3 q=7 t=0 u=0 for k in range(1, 101): v=0 for m in range(k/p+1): if (k-m*p)%q == 0: v+=1 print 'v(%d)=%d\n' % (k, v) u+=v if v: t+=1 print 'total %d, %d\n' % (t, u)
291 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 18:11:16 ] v = lambda k, p, q: \ [(m, n) for m in range(k/p + 1) for n in range(k/q + 1) if k == m * p + n * q ] for k in range(1, 101): print k, '->', ', '.join(map(str, v(k, 3, 7)))
292 名前:291 mailto:sage [2009/01/20(火) 18:13:44 ] あー計算量的に無駄なのか まあいいや
293 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 18:26:22 ] >>> p,q=3,7 ; Max=101 >>> for k in range(Max): print k, len(filter(lambda x:(k-x)>=0and(k-x)%q==0, range(0,Max,p))) ... 0 1 1 0 2 0 3 1 4 0 5 0 6 1 7 1 8 0 9 1
294 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 18:37:45 ] すまん、こうだった >>> p,q=3,7 ; Max=101 >>> for k in range(Max): print k, len(filter(lambda x:(k-x)%q==0, range(0,k+1,p))) ... 0 1 1 0 2 0 3 1 4 0 5 0 6 1 7 1 8 0 9 1 最後の len(... 以降が v みたいなもん、
295 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 18:48:31 ] k=0は蛇足です
296 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 18:51:40 ] >>289- Thank you so match.
297 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 18:56:16 ] >>280 待ち人来たらず
298 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 19:11:35 ] p,q,d=3,7,100 for k in range(1,d+1): print k,'->',','.join(map(str,[(m/p,(k-m)/q) for m in filter(lambda x:(k-x)%q==0, range(0,k+1,p))])) こうですか わかりません
299 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 19:13:47 ] >>283 ありがとうございました
300 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 19:37:45 ] >>298 あってるっぽい気がするけど?
301 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 19:42:11 ] ttp://www.toshin.com/center/sugaku-2b_mondai_6.html
302 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 19:49:44 ] なるほどw
303 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 20:16:21 ] python的に解くとどうなりますか? 3^(3^3)の一の位の数字は? 7^(7^7)の一の位の数字は? 13^(13^13)の一の位の数字は? 17^(17^17)の一の位の数字は? n^(n^n)の一の位の数字は?
304 名前:デフォルトの名無しさん [2009/01/20(火) 20:30:34 ] pythonを学習しようかと考えていますが、巷で出回っているフリーの(GUI)ツール類 などはCなどで書かれていると思いますが、ptyhonでも同様のことができますか? そこまで大規模なツールではなく簡単シンプルなツールです。 本屋でちょっと読んだ参考書にはwindows用のフォームやボタンの配置などが 書かれていなかったので、CUIのプログラミングだけかと…
305 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 20:35:40 ] Tkinter, wxPython, pywin32などでぐぐれ
306 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 20:37:08 ] そんなことないですよ
307 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 20:38:38 ] 628 名前:デフォルトの名無しさん :2009/01/20(火) 20:10:12 VB6の代わりにならないかな VB6ユーザーには、Delphiは難し過ぎるみたいだし PythonにVB並のRADツールを備えた統合開発環境があればいいんだけど 629 名前:デフォルトの名無しさん :2009/01/20(火) 20:20:45 そこでIronPythonですよ。 630 名前:デフォルトの名無しさん :2009/01/20(火) 20:30:35 UbuntuではNativeで動き WindowsではVMで動くPythonキボンヌ!
308 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 20:39:33 ] pc11.2ch.net/test/read.cgi/tech/1167996371/
309 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 20:40:18 ] pc11.2ch.net/test/read.cgi/tech/1157686822/
310 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 20:59:57 ] >>288 BASICでクソプログラム見せられたらやっぱPythonできれいに書きたくなるよね。
311 名前:310 mailto:sage [2009/01/20(火) 21:01:43 ] 俺はIIの最後で2点と統計で2点落としちまったぜ
312 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 21:23:33 ] >>304 オマエが読んだクソ本を怨め
313 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 21:38:57 ] from collections import defaultdict p = 3 q = 7 d = 100 answer = defaultdict(int) for m in xrange(d / p): for n in xrange(d / q): k = p*m + q*n if k > d: break answer[k] += 1 for k in range(d+1): print k, answer[k]
314 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 22:21:03 ] >>303 from itertools import repeat def _f(n): def _mul(n, m): return ((n % 10) * (m % 10)) % 10 def _pow(n, m): return reduce(_mul, repeat(n, m-1), n) return _pow(n, _pow(n, n))
315 名前:314 mailto:sage [2009/01/20(火) 22:39:22 ] 間違えた。_powの第二引数は一の位だけじゃ駄目だ。
316 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 22:40:16 ] うむ
317 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 23:44:56 ] pow(n, pow(n, n), 10)
318 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 23:49:54 ] >>> pow(3,pow(3,3),10) 7 >>> pow(7,pow(7,7),10) 3 >>> pow(13,pow(13,13),10) 3L >>> pow(17,pow(17,17),10) 7L あってる?
319 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 00:35:03 ] あってるけど、 アルゴリズム的には n が大きいときの pow(n, n) が課題。
320 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 01:37:05 ] 遅いって言っても、1000ぐらいまでなら一瞬で出るぞ >>> i=1 >>> while 1:print i,pow(i,i**i,10);i+=1 ... 1 1 2 6 3 7 4 6 5 5 6 6 7 3 8 6 9 9 10 0 11 1 12 6 13 3 14 6 ... ... ... 1197 7 1198 6 1199 9 1200 0 1201 1
321 名前:317 mailto:sage [2009/01/21(水) 01:57:21 ] nのべき乗の1の位が、ある周期で循環することを利用して指数を小さくしてみた。 # coding: utf8 def cycle(n): i = n*n % 10 lst = [i] while n != i: i = i*n % 10 lst.append(i) return lst def main(): cycles = [cycle(i) for i in xrange(10)] clen = [len(item) for item in cycles] for i in range(10): print i, cycles[i] print "" for n in xrange(1, 1000): cl = clen[n%10] nn = pow(n, cycles[n%10][n%cl]) nnn1 = pow(n, nn, 10) print n, nnn1 if __name__ == '__main__': main()
322 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 02:25:02 ] ほぼ同じことだけど、自分もやってみた、これだと、googol(=10**100)ぐらいまでは一瞬 def f(n): c = cycle(n,10) return pow(n, pow(n, n, c) or c, 10) def cycle(n, modulo): s=set() ; x = n % modulo while x not in s: s.add(x) ; x = x * n % modulo return len(s) for i in range(7): print i, f(10**10**i+i) $ python 303.py 0 0 1 1 2 6 3 7 4 6 5 5 6 6
323 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 02:28:11 ] www.kohgakusha.co.jp/books/detail/978-4-7775-1419-9
324 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 05:39:19 ] >>321 そこまでたどり着けば実はpow使わなくても答え出てるんだけどね
325 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 05:45:02 ] 13=10+3だから、13^nの1の位は3^nの1の位と同じで4個周期。 13=12+1だから13^13を4で割った余りは1。 13^(13^13)の1の位は3^1の1の位と同じなので3。 17=10+7だから、17^nの1の位は7^nの1の位と同じで4個周期。 17=16+1だから17^17を4で割った余りは1。 17^(17^17)の1の位は7^1の1の位と同じなので7。
326 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 08:11:54 ] クソ本が改訂してクソでなくなるのかな?
327 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 09:36:24 ] まあ評価は見てからですかねー
328 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 10:30:01 ] はじぱい 第2版 (2004/11) \5,040 www.amazon.co.jp/products/dp/4873112109/ はじぱい原著 3rd Edition (2008/07/16) $26.39 www.amazon.com/Learning-Python-3rd-Mark-Lutz/dp/0596513984/ 恥ぱい 初犯 (2007/11) \1,995 www.amazon.co.jp/products/dp/4777513211/ 恥ぱいネットワーク 初版 (2008/06) \1,995 www.amazon.co.jp/products/dp/4777513688/ 恥ぱい3 初版 (2009/01) \1,995 www.kohgakusha.co.jp/books/detail/978-4-7775-1419-9 恥ぱいが3.0用になったんですね
329 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 11:10:29 ] 恥の上塗りというわけですね。
330 名前:デフォルトの名無しさん [2009/01/21(水) 11:20:55 ] 俺もウェブの無料チュートリヤル翻訳して金稼ぎたい
331 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 11:40:37 ] ライブラリレファレンスの和訳更新・改良を ガンガンやってくれるならお布施くらいはするでよ?