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


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

Pythonのお勉強 Part30



1 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 19:09:55 ]
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/1223543412/

231 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 11:00:31 ]
なんかえらい基本的なことが抜けてる気がするぞ
ちゃんと勉強汁

foo + " - " + bar
"%s - %s" % (foo, bar)


232 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 11:15:59 ]
>>224
>>195の、単純なバックトラックのCのコードですら
その問題は(俺の環境では)0.35秒ぐらいで解けるようだよ

アルゴリズム改善がベストだが、C++で書いても
そんなに遅いのは、別の理由もありそうだな

233 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 11:21:11 ]
\x00とすると16進数で8ビット文字列を作れますよね。
16進数を作ってから、\xとつなげるにはどうすればいいですか?
"\x%x"のように文字列フォーマットを使おうとするとエラーになってしまいます。

234 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 11:22:44 ]
"\\x%x"で定義してから、置換すればいいんじゃね?

235 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 11:25:31 ]
できないじゃないですか。

236 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 11:26:19 ]
素直にchr()使いなさい。

237 名前:デフォルトの名無しさん [2008/11/28(金) 11:30:51 ]
printf("%c", 0x25);
こんな感じ

238 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 12:18:40 ]
>>237
chr(0x25)

239 名前:  mailto:  [2008/11/28(金) 12:36:35 ]
>>231
おぉ! + を使って繋げるのか
TITLE = {"title":foo + " - " + bar}
print TITLE["title"]
hoge - fuga
と、無事にできました

でも、これが分かりません orz
> "%s - %s" % (foo, bar)

プログラム経験は昨日からです...
www.python.jpを見ながら勉強してます



240 名前:225 mailto:sage [2008/11/28(金) 12:55:52 ]
>>229
試してみる。どんな問題?

241 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 13:51:06 ]
Pythonのオススメの統合開発環境は何ですか?(日本語化可能だと有難いです

PyScripterはバグが多く、使いにくかったです…

242 名前:  mailto:  [2008/11/28(金) 15:10:40 ]
>>241
テキストエディタでいいじゃん

243 名前:デフォルトの名無しさん [2008/11/28(金) 15:15:29 ]
>>241
Vimを +python でコンパイルしたもの

244 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 15:26:20 ]
>>240
ttp://www.sudoku9981.com/jp/print/extreme.asp
の94番目のやつ

245 名前:225 mailto:sage [2008/11/28(金) 15:46:29 ]
>>224
ありがと。
0.98秒くらいだった。ハードのスペック違うけど。

Vista
CPython 2.6
PentiumM 2.1GHz

246 名前:225 mailto:sage [2008/11/28(金) 16:31:33 ]
ごめん、訂正。
3回くらい実行したら、最短で0.2秒くらいだった。


247 名前:  mailto:  [2008/11/28(金) 16:47:05 ]
チュートリアルでさえ難しいです
誰か僕に愛の手を

248 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 16:51:58 ]
どこがわからないか*具体的に*いってみ

249 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 16:52:45 ]
チュートリアル難しいよねえ。
まあ地道にコード打ってがんばろう。
てなことで今数独問題生成・解答アルゴリズムを考えてる。



250 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 17:17:26 ]
BeginnersGuide/NonProgrammers - PythonInfo Wiki
wiki.python.org/moin/BeginnersGuide/NonProgrammers

251 名前:  mailto:  [2008/11/28(金) 17:43:16 ]
>>248
>"python file" と "python <file" の違いに注意してください。
>後者の場合、プログラム内でinput() や raw_input() が呼び
>出され、ユーザからの入力が必要な場合、入力はファイル から
>取り込まれます。この場合、パーザはプログラムの実行を開始
>される前にファイルを終端まで読み込んでおくので、プログラム
>はすぐに入力の終わりまで到達してしまいます。前者の場合
>(大抵はこちらの方が望ましい動作です)、入力には Python
>インタプリタの標準入力に接続された何らかのファイルまたは
>デバイスが充てられます。

まず最初に意味が理解できなかった所です。

252 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 18:01:08 ]
perlの場合は両方ともfileを実行するが
pythonは違うから注意しろってことだろ

253 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 18:26:17 ]
>>251
チュートリアルといいつつ、本当の初心者向けの文章ではないからね
Unixの経験と、他の何らかの言語の経験を仮定している記述も多い

必要の無いところは、分からなくても読み飛ばしてしまっていいと思う

254 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 18:34:05 ]
>>251
両者ともfileに含まれるPythonコードを解析し実行するという点では同じ。
ただ後者の場合は、解析段階で最後まで読んだfileをinput()の入力にあてがうので、
やってみるとEOFErrorになる。なので普通は誰もやらない。

255 名前:デフォルトの名無しさん [2008/11/28(金) 18:45:00 ]
python fileとpython <fileが何の事か分からんです
ひょっとしてコンソールで

$ python file.py
$ python < file.py

こういう事?

256 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 18:52:23 ]
>>255
なんでそんな簡単なことがわからんの?
Pythonがどうこう以前に、そんなこと
普通にシェルに触ったことがある奴なら誰でもしってるよ。

$ cat < file.py

がなんで file.py の内容をそのまんま吐き出すか考えてみろよ。
stdin からのインプットを待ってるからだろ?


257 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 19:05:03 ]
触るな危険

258 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 19:19:45 ]
数独をPythonでLISP風に解くとどんなコードになりますか?
Pythonにこだわらずに
LISPだけでもいいです。


259 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 19:25:11 ]
>>258
LISP風の定義を言え。
lambda関数ばっかでやりたいのか? 変数に代入できんだろ。



260 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 19:41:12 ]
触るな危険

261 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 19:47:35 ]
>>258
Lispは全然詳しくないが
・インデクスアクセスしたいタイプの問題なので、リストよりベクタ向き
・副作用を避けようとすると、9x9のベクタを大量にコピーしまくる羽目になる
ような気がするが、どうなんだろうな

>>199のコードはforとかは使っているが比較的関数型よりのコードに見えるよ
つまり、コピーしまくりんぐ

262 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 19:53:30 ]
>>258
www.norvig.com/sudoku.html
blog.livedoor.jp/k_urushima/archives/554026.html
www.unixuser.org/~euske/doc/python/python-lisp-j.html
d.hatena.ne.jp/reinyannyan/20080605/p1

263 名前:  mailto:  [2008/11/28(金) 20:33:07 ]
>>256
ごめんなさい

264 名前:デフォルトの名無しさん [2008/11/28(金) 20:37:06 ]
python <i>file</i>
python < <i>file</i>

このようになってたら分かり易いんだけどな。
fileがファイル名なのか "file" という文字を
そのまま打つ必要があるのかが解り難い

265 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 21:07:38 ]
>>251の訳文「入力は <i> file </i> から取り込まれます」とすべきだったんだな

266 名前:194 mailto:sage [2008/11/28(金) 22:38:59 ]
>>225
ttp://codepad.org/IdQp5HCX
枝刈りとして分岐が少ない場所から走査するようにしたところ
5秒で回答できるようになり5倍高速化しました。
数十倍は難しいです。もしよろしければ後学のために
ソースを見せていただけないでしょうか?

>>244,245
2.8秒でした。自分のプログラムもそれなりの速さがでているようで
安心しました。

>>198,201,202,232
C++勉強して書き直したところboost.pythonを利用して
0.5秒で回答できるようになりました。
きちんとC++やりなおさないとだめですね。

ところでC++とPythonで配列をやりとりするとき
ttp://codepad.org/rQ1unjWk
のように書いてみたのですが他にうまい書き方があるのでしょうか?

ttp://www.boost.org/doc/libs/1_37_0/libs/python/doc/v2/faq.html#question2
を見たのですが、vector<->listの変換の自動化は未実装である
ということでしたが毎回wrapperを書かないといけないのでしょうか?


267 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:00:46 ]
>>266
python標準のリストって何でも入るからな

効率よくC++のvector<int>とやりとりしたいんなら
とりあえずarrayがいいんじゃないの
arrayモジュールについて調べてみることを薦める

arrayは単一型のシークエンスで、バッファインタフェースを備えていて、
buffer_info()で思いっきり内部にアロケートされてる配列のアドレスも取れるから

268 名前:225 mailto:sage [2008/11/29(土) 00:36:50 ]
あれから遊びで、複数解を求めるように
改造しちゃったけど、それでよければ。

ttp://codepad.org/jYgSN02c


269 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 05:23:48 ]
for(std::size_t i=0; i<boost::python::len(l); i++)
{
board[i]=boost::python::extract<int>(l[i]);
}


イテレータでまわすほうが速くなると思う



270 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 05:29:06 ]
>>268
助けて

$ python sudoku.py
Traceback (most recent call last):
 File "sudoku.py", line 80, in <module>
  main(sys.argv[1])
IndexError: list index out of range

271 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 05:32:09 ]
ごめん

#test()
#sys.exit(0)

のコメントアウトを外すんだね。
吊ってくる。

272 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 05:50:26 ]
つ ttp://codepad.org/HTWzsnAp
ポイントは
・セルごとに次に置ける数字のsetを用意する(テーブル)
・一番数字の個数が少ないセルから分岐する
・テーブルは再帰ごとに新しいのをつくる
最初、数字ごとに次におけるセルをテーブルにして苦労した。

273 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 11:51:43 ]
pynumはPython2.6に対応してないんですか?

274 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 12:55:56 ]
inforno.net/articles/2008/10/03/python26-features
また、-3コマンドラインスイッチにより3.0で削除される機能を使っている場合、警告を出せる。

d.hatena.ne.jp/JiaLu/20081003/1222999530
2.6を使用するために、あなたのコードに下記の変更が必要かもしれない。


275 名前:デフォルトの名無しさん [2008/11/29(土) 17:07:00 ]
Python 言語の中身を詳しく説明したサイトはないの?
例えば AST とか、バイトコンパイルの実装とか、そういったやつ。

276 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 19:02:43 ]
あるよ

277 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 19:05:49 ]
いじわるな人・・・

278 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 19:10:38 ]
>>277
そういう池沼にはレスつけないでくれ。

279 名前:デフォルトの名無しさん [2008/11/29(土) 19:33:54 ]
>>276
そうか、なら安心だな。




280 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 19:35:53 ]
>>275-279
どうみても同一人物だな

281 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 19:36:24 ]
>>275-280
どうみても同一人物だな

282 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 20:30:01 ]
matplotlibのplot3Dにバグあるってどんなバグ?
自分は普通に使えてるんだけど

283 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 20:46:37 ]
pythonで3次元plotしたい場合のお勧めはどれ?
matplotlibがもうサポートしないよと言ってる

284 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 22:45:23 ]
vpython

285 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 20:49:38 ]
>>284
便利そうだ
www.nasuinfo.or.jp/FreeSpace/kenji/sf/visualj/index.html


286 名前:デフォルトの名無しさん [2008/12/01(月) 11:47:04 ]
3.xへの移行ってまだまだ先でいいんですかね?
色んなライブラリのパッケージもあって楽だし
今のところは2.5が一番使いやすい環境みたいだけど、
今からそれ勉強しても無駄になりますか?


287 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 15:29:43 ]
>>286
>今からそれ勉強しても無駄になりますか?
無駄にはならないと思うよ。ただ2.6を使ったり、Python 3.0で何がどう変わるのか、なぜ変わるのか、その辺りの事情についてアンテナ張って勉強しとけばオッケーかと。


288 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 15:47:03 ]
邦訳ドキュメントも2.5になったばかりだし、しばらくは2.5でいいよ。

289 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 18:28:12 ]
2.6をわざわざVC9でビルドしたが、そこで力尽きてしまった
環境全部移行するのが面倒くさすぎて、結局まだ2.5.2を使っている

どーせ主要なディストリとかcygwinとかもまだキャッチアップしてないだろ



290 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 19:15:10 ]
>>289
Debian stableだとまだ2.4だw
3に完全移行するのは当分先になるだろうな

291 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 19:15:26 ]
このスレでturbogearsやってるのは俺だけの予感

292 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 19:32:20 ]
そんなメジャーなものを使ってて良くいうよ。
俺なんかTenginだもんね。

293 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 19:37:18 ]
でもturbogearsって聞かなくね?
mod_wsgiで動くの?

294 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 19:37:56 ]
pythonで画像処理ならPILですが
動画なら何を使うといいのでしょうか?

295 名前:デフォルトの名無しさん [2008/12/01(月) 21:51:44 ]
俺なんかTempita

296 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 22:21:28 ]
なんでマイナー自慢になってんだよw

297 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 22:34:55 ]
俺はダンジョーで毎日ヤッてるよ。

298 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 22:38:07 ]
>>297
Djangoの話題はスレが荒れる

299 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 22:57:04 ]
ぞぺの仲間入りですね



300 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:04:19 ]
ぞぺとどじゃんごっていろいろ似てるよな
使ってる人たちの香ばしさとか

301 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:26:18 ]
パイパイで、ぽろーーん

302 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:55:46 ]
pythonでインデント使わない方法はありませんか?
ファイルサイズが大きくて困ってます

303 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 01:00:59 ]
気にするな

304 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 01:03:52 ]
x=range(100);print x
for i in x: print i;print '\n';

これなら出来るけど

class hoge: def func(): pass;

みたいにインデントが必要なのが2つ以上は無理だと思うよ

305 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 01:18:02 ]
今時メモリすらギガ単位で計られる時代に
たかがスクリプトのファイルサイズを気にする奴がいるとはな

306 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 01:30:41 ]
低スペックに気を配れないプログラマはゴミ

307 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 01:31:53 ]
可読性に気を配れない奴もな

308 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 01:32:03 ]
300K以上のスクリプト起動すると遅くない?

309 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 01:34:27 ]
インタプリタだから容量は実行速度にも影響出るだろ



310 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 01:51:35 ]
じゃぁメモリに置いとけや

311 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 01:53:12 ]
バイトコンパイルして実行するんだから
インデントが実行速度に影響するわけないだろ

312 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 01:53:36 ]
>>309
> インタプリタだから

関係ねえし。


313 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 01:57:51 ]
インデント削るととか、大昔のBASICの高速化技術みたいだな
発想が化石過ぎて感動した

pycってファイルが何なのか分かってるか?

314 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 02:11:32 ]
書き込み権限がないからpycが無いです

315 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 02:13:22 ]
1つの.pyに詰め込んでるのでpycが無いです

316 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 02:13:30 ]
昔のBASICって、よく使う変数はプログラムの最初の方で
宣言しておいた方が速くなるとかあったなw

そういえば、レンタル鯖とかでPythonのCGIを実行する場合って
pycは作られるのかな?

317 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 02:14:17 ]
>>316
作られるよ

318 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 02:14:52 ]
pyc作られようが作られまいが、内部的にはバイトコンパイルしてから
実行だから、「インデントが」速度に影響出るなんてことは、あり得ねえけどな

319 名前:デフォルトの名無しさん [2008/12/02(火) 04:06:23 ]
>>302
> pythonでインデント使わない方法はありませんか?
> ファイルサイズが大きくて困ってます
ハードタブにしろ



320 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 07:30:44 ]
今時ハードタブはありえない

321 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 08:30:29 ]
内部的にバイトコンパイルする速度には影響出るが
全体の実行時間に対する割合で言えば影響は無いと言ってもいいくらいという

322 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 08:42:55 ]
pc11.2ch.net/test/read.cgi/tech/1169473442/l50

323 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 10:06:44 ]
>>321
ギャバンが蒸着を完了する程度の差しか無いだろうな。

324 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 10:29:07 ]
Pythonのスレで思うのは
バージョン間ごとの信者なんて沸かないことだな。
安定だの不安定だの、信頼性に欠けるとか。
ドキュメント化されてるからそうなってるんだろうなー。

325 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 10:36:25 ]
>>324
バージョンあがるごとに確実によくなってるし、Deprecated Warning を無視していない
限りはほぼ確実に次のマイナーバージョンアップ (2.4 -> 2.5 みたいな) で問題ないから
移行も楽だからねぇ。

Python3.0も、互換性はなくなるけどオブジェクトシステムとか基本が変わらないし、
Python2.6にPython3.0移行支援が用意されてる (大量の Deprecated Warning と 2to3) から、
php4 -> php5 とか perl5 -> perl6 とか ruby1.8 -> ruby1.9 とかよりも簡単に
移行できそう。まぁ、ある程度有名ライブラリが3.0に対応してくるまで自分のアプリは
2.x 用のままだけど。

326 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 10:37:20 ]
まぁ一年は様子見るけどな

327 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 18:45:34 ]
PILでimage sequenceをゼロから作る方法をみつけれない
どこかにいいsample codeないのかな

328 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 18:51:24 ]
GoogleCodeSearch

329 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:41:14 ]
静止画はPIL
動画はpygame
という使い分けでいいのか?




330 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:40:31 ]
どういう用途において?

331 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 02:00:48 ]
PILはaviファイルの読み込みする方法はみつけたけど
加工して書き込みできなかった

pygameが読み込みも加工も新規作成もできる







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

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

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