2011-08-01 18 views
1

から真/偽に基づいて行を分割します。行は、私はそれらをプリントアウトし、実際のpython結果、あるある:あなたが生の出力を行うとき(これは何を得るweb2pyはPythonのは、私はweb2pyの/ Pythonで次のコードを持っているデータベースの結果

>>> testFunction(2, 3, 4) True >>> testFunction(2, 1, 4) False >>> legalTriangles(-1, -1, -1) False 

です:)

>>> testFunction(2, 3, 4)\r\nTrue >>> testFunction(2, 1, 4)\r\nFalse >>> legalTriangles(-1, -1, -1)\r\nFalse 

私がする必要がある何ですか>>>を削除し、testFunction(X、Y、Z)を1つの変数に、True/Falseを別の変数に設定します。私は、これはうまくいくかもしれないと思ったが、ループは、\ r \ nを取り除き、ないで動作するように新しい変数でそれらを置く:

ios = row.f_tests.split('>>>') #results are now the testFunctions without the >>> 
for io in ios: 
    i = io.split("\r\n") 

だから結果は次のようになります。

testFunction(2, 3, 4)True testFunction(2, 1, 4)False testFunction(-1, -1, -1)False 

しかし、私必要があります...

func1 = testFunction(2, 3, 4) 
res1 = True 
func2 = testFunction(2, 1, 4) 
res2 = False  

私はテーブルに入れることができます。何か案は?ありがとうございました!生Pythonで

+0

コントローラでdb selectを実行し、結果をビューに渡す必要があります。 – Anthony

+0

私はまだ、web2pyを学んでいるので、ページに実際のコードを入れてから、それを正しく取得したらコントローラに移動してください。ありがとう、結構です! – Hybride

答えて

0

、それは次のようになり、

s = ">>> testFunction(2, 3, 4)\r\nTrue >>> testFunction(2, 1, 4)\r\nFalse >>> legalTriangles(-1, -1, -1)\r\nFalse" 
for func, result in [i.splitlines() for i in s.split(">>>") if i]: 
    print "<tr><td>%s</td><td>%s</td></tr>" % (func.strip(), result.strip()) 

結果:

<tr><td>testFunction(2, 3, 4)</td><td>True</td></tr> 
<tr><td>testFunction(2, 1, 4)</td><td>False</td></tr> 
<tr><td>legalTriangles(-1, -1, -1)</td><td>False</td></tr> 

あなたは、テンプレートやweb2pyのの "ビュー" の言語に翻訳することができるはずです。 forループをサポートすると私はfrom hereを参照してください。

+0

これは私が必要としていたものです。ありがとう!なぜ私はそれを前に得ることができなかったのか分かりませんが、あなたのコードは美しく動作しました。 (何らかの理由で、私はいつも他の言語ではなく、Pythonループで問題を抱えていました。) – Hybride

関連する問題