もう0時か、
2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50 [PR]FLASHゲームコミュニティー「モゲラ」[PR]  

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

1 :デフォルトの名無しさん:2009/10/24(土) 11:20:45
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その4
http://pc12.2ch.net/test/read.cgi/tech/1243160751/

関連スレ
Pythonのお勉強 Part35
http://pc12.2ch.net/test/read.cgi/tech/1253535109/

332 :デフォルトの名無しさん:2009/11/21(土) 13:16:25
float返すC++の関数があり、それをあるPythonのラッパーが呼び出します。
この返り値をunittestのassertEqualでテストしたいのですが、

assertEqual(3.141592, その関数())

とやると、第1引数は倍精度、第2引数は単精度になり、比較結果が一致しません。
assertAlmostEqualを使わないで、第1引数を単精度にする方法はあるでしょうか。

333 :デフォルトの名無しさん:2009/11/21(土) 14:48:17
それ精度の問題じゃないよ

334 :デフォルトの名無しさん:2009/11/21(土) 14:52:51
じゃあ何の問題なんだよ…はっきり言え

335 :デフォルトの名無しさん:2009/11/21(土) 14:55:45
numpyあたり単精度も扱ってくれたりしないのかな
使ったことはまったくないが

336 :デフォルトの名無しさん:2009/11/21(土) 17:30:01
浮動小数点数でassertEqualするのが間違いだろ

337 :デフォルトの名無しさん:2009/11/21(土) 18:02:51
間違いってことはあるまい。

浮動小数点数なんてCPUが違うと結果違うのは当たり前だし、
x86なんかFPUを使うかSSEを使うかで結果違ってくるし、
言語によっても浮動小数点数の扱いが広げ方や丸め方が違うし、
最適化のかけ方によっても結果が変わってくるし、
そういうのをテストで弾きたいって意味でしょ?

となると、弾かれたのはまさに期待通りなわけだが。

338 :デフォルトの名無しさん:2009/11/21(土) 19:02:29
ahoが湧いてる

339 :デフォルトの名無しさん:2009/11/21(土) 19:06:19
assertEqual('3.141592', '%8.6f' % その関数())


340 :332:2009/11/22(日) 08:21:04
ありがとうございます。

書き方が悪かったですが、第2引数は3.141592を計算した結果返すのではなく、
単精度で与えられた3.141592をそのまま単精度で返すだけです。
getterとsetterのテストをしています。

極端には、

float func(float val){ return val;}

みたいなのがあって、

assertEqual(3.141592, func(3.141592))

とやると弾かれるというわけです。

341 :デフォルトの名無しさん:2009/11/22(日) 08:27:40
assertEqual(func2(3.141592), func(3.141592))


342 :デフォルトの名無しさん:2009/11/22(日) 13:58:31
http://www.atmarkit.co.jp/fcoding/articles/tengoku/04/shibata_a.html

343 :デフォルトの名無しさん:2009/11/22(日) 19:52:08
URLから嫌な悪寒が

344 :デフォルトの名無しさん:2009/11/23(月) 00:32:32
本人乙

345 :332:2009/11/23(月) 10:41:09
>>341
func2のユニットテストはどうやるのでしょうか。

346 :デフォルトの名無しさん:2009/11/23(月) 12:07:09

今までの経緯を見ると
必ずしもリップサービスではなくて
本当にそのつもりで頑張っているような気もする。

目標10割、達成6割でOKというのが
アメリカ人の感覚なのかな。

347 :デフォルトの名無しさん:2009/11/23(月) 15:07:15
正規表現使ってレクサ書こうとして
def lex(input):
  if re.match(r'\d+', input):
    return "digit"
  elif re.match(r'\w+', input):
    return "ident"
  elif re.match(r'[+\-*/=@&|^~]+', input):
    return "operator"
  else:
    return "error"
みたいにしようと思ったけどこれだとマッチした結果が使えない
こんなとき普通はどうするもん?

348 :デフォルトの名無しさん:2009/11/23(月) 15:10:48
def lex(input):
pat = (
(r'\d+', 'digit'),
(r'\w+', 'ident'),
(r'[+\-*/=@&|^~]+', 'operator'),
)
for p in pat:
m = re.match(p[0], input)
if m:
return p[1], m
else:
return "error"


349 :デフォルトの名無しさん:2009/11/23(月) 15:11:49
インデント消えたけど最後の else: は if じゃなくて for の else なので注意してね

350 :デフォルトの名無しさん:2009/11/23(月) 17:04:38
>>348
サンクス参考にしてみる

351 :デフォルトの名無しさん:2009/11/23(月) 19:06:50
誰かが書いたPythonのコード読んでいいところをマネしたいので
参考になるコードを知っている方いましたら教えてください
一通り入門書を読み終えた程度のものなのであまり大規模ではないものを
まずは見たいと思っています。バージョンは2でも3でも読めます
よろしくお願いします

352 :デフォルトの名無しさん:2009/11/23(月) 19:21:11
標準ライブラリ

353 :デフォルトの名無しさん:2009/11/23(月) 19:21:50
>>351
SourcrForgeで、関心がある分野(画像処理、とか)のプロジェクトのソースをダウンロード。
その次は、プロジェクトにパッチを送ってみる。
ttp://sourceforge.net/search/?type_of_search=soft&words=python

354 :デフォルトの名無しさん:2009/11/23(月) 21:29:15
def FeedBtn(self, event):
feedlist=[line for line in file("feedlist.txt")]
tlist = []
for feedurl in feedlist:
feed=feedparser.parse(feedurl)
for e in feed.entries:
feed.append(e.title, e.summary, e.enclosures[0].url,
e.enclosures[0].type, e.enclosures[0].length)
return tlist

self.Frame.titlelist.Clear()
self.Frame.titlelist.Appned(tlist(e.title))

何とかしてtitle一覧作りたいのですがGUIのListBoxにtitle一覧が表示されないです
ボタン押してもエラーが出ないので何が間違ってるか分からないです。

355 :デフォルトの名無しさん:2009/11/23(月) 21:48:45
>>351
俺も標準ライブラリ読むのがいいと思う。良くないのも多いが
あと先に言っておくけどtwistedとZopeは参考にするな

356 :デフォルトの名無しさん:2009/11/23(月) 21:59:13
ワープアは大変だな。

357 :デフォルトの名無しさん:2009/11/23(月) 22:05:14
>>354
・GUI無しで、単純にtitle一覧リストデータは得られるか?
・ListBox以外のコントロールに表示は出来るか?
・title一覧でなくて、単純なリストの項目をListBoxに追加表示できるか?

これくらい調べてきてくれ

358 :デフォルトの名無しさん:2009/11/23(月) 22:05:55
>>342
普通に面白かった

359 :デフォルトの名無しさん:2009/11/23(月) 23:01:18
なにも言ってないに等しいな

360 :デフォルトの名無しさん:2009/11/23(月) 23:55:46
変数の存在確認をする関数ってありますか?(phpで言うisset)

361 :デフォルトの名無しさん:2009/11/24(火) 00:24:23
try:
hoge == "PHPの仕様がおかしい"
except NameError:
pass

362 :デフォルトの名無しさん:2009/11/24(火) 00:30:08
方法1
 初期化しとけ

方法2
 例外を捕らえる>>361

方法3
 'hoge' in locals()


363 :デフォルトの名無しさん:2009/11/24(火) 00:56:19
>>362
>>361
方法1,2は知っていたのですが、
毎回書くのは面倒くさいのでべつの方法を探していました。

3を採用してみます

364 :デフォルトの名無しさん:2009/11/24(火) 02:01:27
何か知らないけどPythonのコードは例外の補足を必要とする率が極めて高い

365 :デフォルトの名無しさん:2009/11/24(火) 04:11:22
100%と思ってた方がいい

366 :デフォルトの名無しさん:2009/11/24(火) 15:13:29
みんぱいの人は中学から雑誌に原稿書いているのかぁ


それに比べておれたちときたら...orz...

367 :デフォルトの名無しさん:2009/11/24(火) 16:23:41
みんなのおっぱい乙

368 :デフォルトの名無しさん:2009/11/24(火) 22:56:54
>>352,>>353,>>355
ありがとうございます。参考にさせていただきます

369 :デフォルトの名無しさん:2009/11/26(木) 11:53:41
Editraで日本語入力ができないのですが
これはpythonのライブラリが原因だからでしょうか?
日本語を扱うソフトを作りたいのですがこれはプログラミング側でどうにもできないですよね?

370 :デフォルトの名無しさん:2009/11/26(木) 13:36:31
for(int i = 10; i >=0; i--)

をpythonではどう書くんでしょうか?

371 :デフォルトの名無しさん:2009/11/26(木) 13:54:34
>>370
for i in xrange(10, -1, -1):
>>369
Pythonライブラリというか、その下のC言語で書かれた部分の問題だと思う。

372 :デフォルトの名無しさん:2009/11/26(木) 15:18:49
>>371
ありがとう

373 :デフォルトの名無しさん:2009/11/26(木) 17:41:52
パイソンって強そうな名前ですが、本当につおいのですか?
でもちょっとHでもありますが。。

374 :デフォルトの名無しさん:2009/11/26(木) 17:45:57
けっこうつおい。

375 :デフォルトの名無しさん:2009/11/26(木) 17:46:24
750 デフォルトの名無しさん [] 2009/11/26(木) 17:39:38 ID: Be:
まったくズブの素人です。
これからブイバ初めても間に合いますか?
プログライミングをでけるようになりたいから
手始めにVBAから勉強するのか迷い中です。
何か時代は.NETでブイビーも.NET
それじゃ〜ブイバももう手遅れなんでしょうか?

376 :デフォルトの名無しさん:2009/11/26(木) 17:49:52
>>375
バイブだのズブズブだの初めてだの、エロいレスだな。

377 :デフォルトの名無しさん:2009/11/26(木) 18:41:17
>>376
375のこいつ暇すぎて変なことばかりしとる

378 :デフォルトの名無しさん:2009/11/26(木) 19:40:12
>>373
パイロンって読むんじゃないの?

379 :デフォルトの名無しさん:2009/11/26(木) 19:42:32
またruby厨の荒らしっすか

380 :デフォルトの名無しさん:2009/11/26(木) 20:42:05
パイソンはタイソンよりつおいから自信もってw

381 :デフォルトの名無しさん:2009/11/26(木) 20:48:07
972 デフォルトの名無しさん [sage] Date:2009/11/23(月) 17:09:32  ID: Be:
    ID強制になるだけで静かになるよ

973 デフォルトの名無しさん [] Date:2009/11/23(月) 18:02:02  ID: Be:
    その変更はキミに任せるから提案してくれ。

974 デフォルトの名無しさん [] Date:2009/11/23(月) 18:18:58  ID: Be:
    反対するのは荒らしたい奴だけだから強行しちゃって良いよ

95 KB [ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]

取りに行ったけどなかった。次は一時間後に取りに行くです。
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.0.7.8 2008/11/13 アクチョン仮面 ★
FOX ★ DSO(Dynamic Shared Object)