2012-03-05 39 views
-1

我開始研究谷歌Code Jam的問題。然而,我的接受是我提交的問題。每當我提交時,我都會被告知:「你的輸出應該以'Case#1:'開始。」我的輸出打印語句以「」案例#%s:%s「%(y + 1,p)」開頭,它表示案例#1:ext ...當我運行我的代碼時。python中的輸出文件是什麼

我看着它,它說:「你的輸出應該以'Case#1:'開頭:如果你收到這條消息,確保你沒有上傳源文件來代替輸出文件,重新輸出案例編號,輸出文件的第一行應始終以「案例#1:」開頭,後面跟着一個空格或行尾。

那麼什麼是輸出文件,以及如何將它合併到我的代碼?

額外信息:這是我的代碼,我將它保存爲GoogleCode1.py並提交該文件。我在IDLE中寫了它。

import string 
firstimput = raw_input ("cases ") 
for y in range(int(first)): 
    nextimput = raw_input ("imput ") 
    firstlist = string.split(nextimput) 
    firstlist.reverse() 
    p = "" 
    for x in range(len(firstlist)): 
     p = p +firstlist[x] + " " 
    p = p [:-1] 
    print "Case #%s: %s"%(y + 1, p) 
+1

首先,您幾乎可以肯定不會在Code Jam中使用'raw_input',因爲您將輸入作爲文件輸入,並且無法提示輸入。其次,使用'print'語句生成輸出是完全正確的,因爲您可以使用shell將其捕獲到文件中。 – geoffspear 2012-03-05 03:38:59

+0

@Wooble:'raw_input()'在這裏很好。重定向。 – 2012-03-05 03:40:00

+0

@ IgnacioVazquez-Abrams:自己測試,提示最終輸出到輸出文件中。 – geoffspear 2012-03-05 03:43:14

回答

1

拋開I/O重定向,另一種方法是從各種文件讀取和寫入。查找file handling in python

input_file = open('/path/to/input_file') 
output_file = open('/path/to/output_file', 'w') 
for line in input_file: 
    answer = myFunction(line) 
    output_file.write("Case #x: "+str(answer)) 
input_file.close() 
output_file.close() 

乾杯

2

在shell中運行腳本並重定向輸出。

python GoogleCode1.py > GoogleCode1.out 
+0

這也更容易發展。您可以讓它在開發過程中寫入控制檯,然後在確定它能正常工作時將其「保存」到文件中。 – mpen 2012-03-05 23:23:51

1

確保您提交包含你的代碼輸出文件 - 一個練習輪期間不要提交代碼本身。