计算原理课堂笔记(二)

计算原理课堂笔记(二)

关于测试: 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_simpletest

def 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_testsuite

def 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 function
poc_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 row
EXAMPLE_GRID = [[row + col for col in range(GRID_WIDTH)]
                           for row in range(GRID_HEIGHT)]
<python>



<python>
    my_game = SolitaireMancala()
print "Testing init - Computed:", my_game, "Expected: [0]"

config1 = [0, 0, 1, 1, 3, 5, 0]    
my_game.set_board(config1)   

print "Testing set_board - Computed:", str(my_game), "Expected:", str([0, 5, 3, 1, 1, 0, 0])
<python>

my_gamestr(my_game)返回值相同

Third, to import a GUI that can be used to visualize your program in action. Again, these imports will typically consist of two statements; one that imports the module containing the GUI and a second that runs the GUI using an instance of the class defined in your mini-project. For example, you can import and run the GUI for Solitaire Mancala using the statements\

<python>
import poc_mancala_gui
poc_mancala_gui.run_gui(SolitaireMancala())
<python>

导入模块,然后调用模块中的函数。

<python>
cells = [ [... for col in range(grid_width)] for row in range(grid_height)]
<python>

列表解析
Note that if row or col are not used in the expression …, Pylint will warn that these variables are unused. To avoid this warning, you can rename these variables to dummy_row and dummy_col to alert Pylint that these variables are intentionally unused. This renaming will suppress the warning.
如果row和col在中未使用,应重命名为dummy_row和dummy_col

这里写图片描述
So if you do it this, you can use the offsets dictionary and then you can create a dictionary of initial tiles. 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. You don’t have to have this if dir is LEFT or if it’s RIGHT or, and so on, okay?
使用偏置字典

### 计算机组成原理手写笔记的相关资源 对于计算机组成原理的学习,尤其是寻找高质量的手写笔记 PDF 或图片,可以通过以下几个途径获取: #### 1. **在线教育平台** 许多在线教育平台上提供了丰富的课程资料,其中包括教师或学生整理的手写笔记。例如,在 Coursera、edX 或国内的网易云课堂、学堂在线等平台上,可能会找到与《计算机组成原理》相关的课程[^1]。 #### 2. **学术论坛和社区** 一些技术爱好者会在 优快云、知乎、GitHub 等平台上分享自己的学习心得和手写笔记。通过搜索引擎输入关键词“计算机组成原理 手写笔记”,可以快速定位到相关内容。此外,还可以尝试访问专门的技术讨论区,如 V2EX 或 SegmentFault[^3]。 #### 3. **大学官网或公开课** 部分高校会将其公开课的教学材料免费开放给公众下载。清华大学、北京大学等知名院校通常会有详细的讲义和补充资料可供查阅。这些资料可能包括教授们精心准备的手写板书扫描件或者高清图片。 #### 4. **电子书籍与文档库** 像豆丁网、百度文库这样的文档共享站点也可能存在用户上传的《计算机组成原理》手写笔记PDF文件。不过需要注意版权问题并确保来源合法可靠[^4]。 以下是基于Python实现的一个简单脚本用于批量爬取特定网站上的图片链接(仅作演示用途),实际操作前请务必确认目标网址允许此类行为: ```python import requests from bs4 import BeautifulSoup def fetch_image_links(url): response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') img_tags = soup.find_all('img') urls = [] for img in img_tags: img_url = img.attrs.get("src") if not img_url.startswith(('data:', 'javascript:')): urls.append(img_url) return urls url_to_scrape = input("Enter the URL to scrape images from:") images = fetch_image_links(url_to_scrape) print("\n".join(images)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值