计算原理课堂笔记(二)

来源:互联网 发布:复杂网络画图软件 编辑:程序博客网 时间:2024/05/19 18:38

计算原理课堂笔记(二)

关于测试: And so the best piece of advice I have about testing is the following. Don’t write your code and then test. Write a little bit of code. Test. Write a little bit of code. Test. Write a little bit of code.

这里写图片描述
测试模块poc_simpletest

<python>"""Test suite for format function in "Stopwatch - The game""""import poc_simpletestdef run_suite(format_function):    """    Some informal testing code    """    # create a TestSuite object    suite = poc_simpletest.TestSuite()    # test format_function on various inputs    suite.run_test(format_function(0), "0:00.0", "Test #1:")    suite.run_test(format_function(7), "0:00.7", "Test #2:")    suite.run_test(format_function(17), "0:01.7", "Test #3:")    suite.run_test(format_function(60), "0:06.0", "Test #4:")    suite.run_test(format_function(63), "0:06.3", "Test #5:")    suite.run_test(format_function(214), "0:21.4", "Test #6:")    suite.run_test(format_function(599), "0:59.9", "Test #7:")    suite.run_test(format_function(600), "1:00.0", "Test #8:")    suite.run_test(format_function(602), "1:00.2", "Test #9:")    suite.run_test(format_function(667), "1:06.7", "Test #10:")    suite.run_test(format_function(1325), "2:12.5", "Test #11:")    suite.run_test(format_function(4567), "7:36.7", "Test #12:")    suite.run_test(format_function(5999), "9:59.9", "Test #13:")    suite.report_results()<python>

run_suite()函数封装了测试代码

<python>"""Format function for a stopwatch"""import poc_format_testsuitedef stopwatch_format(ticks):    """    Convert tenths of seconds to formatted time    """    minutes = ticks // 600    # minutes = ticks // 60    tens_seconds =  (ticks // 100) % 6    seconds = (ticks // 10) % 10    tenths = ticks % 10    return str(minutes) + ':' + str(tens_seconds) + \           str(seconds) + '.' + str(tenths)# run the testing suite for our format functionpoc_format_testsuite.run_suite(stopwatch_format)<python>

import poc_format_testsuite导入测试代码

<python># Create a rectangular grid using nested list comprehension # Inner comprehension creates a single rowEXAMPLE_GRID = [[row + col for col in range(GRID_WIDTH)]                           for row in range(GRID_HEIGHT)]<python>

使用嵌套列表解析创建多元元组、

Remember that the “Science” part of Computer Science corresponds primarily to Mathematics.
记住,计算机科学中的“科学”部分主要指的是数学

这里写图片描述

You can actually create all of the lines that you would need to merge for any direction, so that when you get into the move function you just look them up in a dictionary
使用偏置字典在move function之前考虑方向
这里写图片描述
增加STR函数用于调试

But, if you do five by four instead of four by four, and you run it in the GUI, you’re immediately going to understand, hey did this work correctly or not?
使用矩形网络

这里写图片描述

0 0
原创粉丝点击