Code Eval Challenge#20

时间:2015-11-17 22:41:04

标签: python

我加入了代码eval以改进我的Python 3.5编程。 Code Eval是一个网站,它为任何希望提高技能的程序员提供挑战。目前,我很难接受挑战#20。

挑战#20表明它需要以下内容:

给定一个字符串写一个程序将其转换为小写。

INPUT SAMPLE:

第一个参数是包含句子的文件名的路径,每行一个。您可以假设所有字符均来自英语。 E.g。

HELLO CODEEVAL 这是一些文字 输出样本:

打印到stdout,这是句子的小写版本,每个都在新行上。 E.g。

你好codeeval 这是一些文字

我为Code Eval编写了程序。最奇怪的事情是我提交文件后收到错误。这是我在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。我错过了哪些不符合他们的要求?

对于Code Eval,我的第一次修订部分被“填补”,但这是我的第一次修订,实际上是部分成功:

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

是的,再一次,那么我如何在修订版1中获得部分成功的代码,而不是在另一个版本中获得?

我正在学习编程逻辑,并将继续编程基础I& II。关于Code Eval最困难的事情是他们要求参数(包含在函数,方法等中),但我似乎找不到成功实现这一挑战的方法!

1 个答案:

答案 0 :(得分:0)

这是您可以编写的基本代码:

import sys

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

test_cases.close()

说明:要访问传递给程序的第一个参数,我们需要使用sys.argv; index是1,因为位置0是脚本的运行路径。

我们遍历文件中的每一行,并以小写形式打印lower()方法。

最后,我们关闭文件以防止通过保持文件句柄打开来浪费系统资源。