我正在剑桥考试委员会教授A Level课程.实际论文中的一个典型问题是:
在您选择的编程语言中,声明一个包含十个整数的数组,然后对其进行初始化.
我有这个:
myArray = [] #create the array
for i in range(10): # initializes to 0
myArray.append(0)
Run Code Online (Sandbox Code Playgroud)
我相信这是大多数人在Python中会做的事情?然而,与Pascal等不同,它并没有严格地回答这个问题,因为Python中的列表本质上是动态数组,并且增加了不限制每个元素的数据类型的问题.我可以声明一个特定的大小数组,并在Pascal中输入,而不是一个空的动态列表,没有任何类型的循环并限制数组的类型?
像(伪代码)的东西:
myArray[10] : integer
Run Code Online (Sandbox Code Playgroud)
这是一个非商业性的问题,但是一个教育问题.
关闭连接时遇到问题如下:
database = 'sed_database'
conn = MySQLdb.Connect(host='remote_host', user='default',
passwd='pass', db=database)
try:
try:
cursor = conn.cursor()
cursor.execute(sql_str)
results = cursor.fetchall()
except MySQLdb.Error, e:
print "MySQL/Server Error using query: %s" % sql_str
print "Using database: %s" % database
raise e
finally:
if cursor:
cursor.close()
if conn:
conn.close()
Run Code Online (Sandbox Code Playgroud)
这给出了:
Traceback (most recent call last):
File "trass.py", line 579, in ?
main(sys.argv)
File "trass.py", line 555, in main
old_rows, changes_list = auto_analyse_test(f, args.build, args.quiet, args.debug)
File "trass.py", line 352, in auto_analyse_test
last_analysed_build = get_sed_baseline_ref(test_file_name, …
Run Code Online (Sandbox Code Playgroud) 我有一个csv解析器模块,它解析一个非常特定类型的.csv文件并从中提取字段.现在来测试这个模块我正在编写一些单元测试.传统上,为了测试模块,我将创建一个相同格式但具有有限条目的示例csv文件,然后将此文件传递给模块并检查输出.显然这不是很好,因为它依赖于测试文件本身.
什么是正确的方法?我已经阅读过关于mock模块以及它如何模拟的东西.但我不知道如何模拟特定文件.
问题很简单.我正在编写一个函数,如果该字符串包含任何非法名称,则返回true.
line是一个字符串.
illegal_names是一个可迭代的.
def has_illegal_item(line, illegal_names):
illegal_items_found = False
for item in illegal_names:
if item in line:
illegal_items_found = True
break
return illegal_items_found
Run Code Online (Sandbox Code Playgroud)
所以这很好用,但看起来有点笨拙和啰嗦.任何人都可以建议一个更整洁,更pythonic的方式来写这个?我可以使用列表解析还是正则表达式?
python ×4
csv ×1
list ×1
mocking ×1
mysql ×1
mysql-python ×1
python-2.4 ×1
search ×1
string ×1