我加入了代码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最困难的事情是他们要求参数(包含在函数,方法等中),但我似乎找不到成功实现这一挑战的方法!
答案 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()
方法。
最后,我们关闭文件以防止通过保持文件句柄打开来浪费系统资源。