2015-11-17 171 views
-3

我加入了代碼評估來改進我的Python 3.5編程。 Code Eval是一個網站,它爲希望提高技能的程序員提供挑戰。目前,我難以接受挑戰20。代碼評估挑戰#20


挑戰#20指示它需要執行以下操作:

給定一個字符串寫一個程序,將其轉換成小寫。

輸入樣本:

的第一個參數將是含有句子,每行一個文件名的路徑。你可以假定所有的字符都來自英文。例如。

HELLO CODEEVAL 這是一些文本 輸出樣本:

打印到stdout,句子的小寫版本,每一個新行。例如。

你好codeeval 這是一些文本


我寫的代碼評估和演示程序。發生的最奇怪的事情是,我提交我的文件後收到錯誤。以下是我在Python 3.5中編程的內容:

>Python 3.5 Code 
>Code Eval Challenge #20 
>t3xx3r 
> 
>text1 = "HELLO THIS IS CODEEVAL" 
>text2 = "This is some text" 
> 
>print(text1.lower() + '\n' + text2.lower()) 

我成功提交了我的第三個修訂。它結束了一個「失敗」圖標。我似乎並不瞭解Code Eval Challenge。我錯過了什麼不符合他們的要求?

我的第一個修訂部分「填充」的代碼評估和演示,但這裏是我的第一次修訂這是一個實際的部分成功:

>__author__ = 't3xx3r' 
> 
>text = 'HELLO CODEEVAL' 
>print(text.lower()) 

是,再一次,所以我怎麼會獲得部分成功碼版本1,但不在其他版本中?

我目前在學習編程邏輯,並將繼續編程基礎知識I &二。 Code Eval最困難的地方在於他們要求參數(包含在函數,方法等內),但我似乎無法找到一種方法來成功實現這一挑戰!

+1

你碰巧知道他們如何評分?我覺得你應該編寫一個函數,它接受任何字符串並打印下面的加載版本 –

+3

「第一個參數是文件名的路徑」 - 我沒有看到你實際上已經做了任何參數或文件處理。 – John3136

+0

@Texan Polygynist:如果我的回答對你有幫助,你會介意接受嗎? – jermenkoo

回答

0

這是基本的代碼,你可以寫:

import sys 

test_cases = open(sys.argv[1], 'r') 
for test in test_cases: 
    print(test.lower()) 

test_cases.close() 

說明:訪問傳遞給程序的第一個參數,我們需要使用sys.argv;索引是1,因爲位置0是腳本的運行路徑。

我們遍歷文件中的每一行並以小寫字母打印,調用lower()方法。

最後,我們關閉該文件以防止通過保持文件句柄打開來浪費系統資源。