【每周一坑】螺旋矩阵

今天这题,看起来挺简单,实际写出来并不容易。在以前公司我曾把它做过招聘的笔试题,结果惨不忍睹,不得不拿掉。

输出如图的螺旋矩阵:

1   2   3   4 12  13  14   5 11  16  15   6 10   9   8   7

附加题:

输入一个正整数 N,输出以 N 为边长的螺旋矩阵。(比如上图就是 N 为 4 的结果)

期待各位同学提交解答。

提交代码可以使用 paste.ubuntu.com 或 codeshare.io 等代码分享网站,只需将代码复制上去保存,即可获得一个分享地址,非常方便。

往期问题可通过公众号菜单栏“课外辅导”栏目中进入查看。


【解答】校验文件哈希

在上次的文章里的参考链接里已经有了一个解法。这里我们也给出一个参考代码:

import hashlib
import sys

# 获取 HASH 值
def check_hash(file_path):    res = {}    source = open(file_path, 'rb').read()    res['md5'] = hashlib.md5(source).hexdigest()    res['sha1'] = hashlib.sha1(source).hexdigest()    res['sha256'] = hashlib.sha256(source).hexdigest()    res['sha512'] = hashlib.sha512(source).hexdigest()
   return res

# 打印 hash 值
if __name__ == '__main__':
   for key, value in check_hash(sys.argv[1]).items():        print(key + ": " + value)

# 使用方法
# 命令行下 python file_hash.py your_file_path
# 可显示不同加密算法的结果

在上期提交的作业中,@徐大龙 同学的代码考虑了读取大文件时优化问题:

https://github.com/PeytonXu/learn-python/blob/master/cases/hash_file/hash_file.py

@Hurray 同学计算了多种 hash 算法:

https://paste.ubuntu.com/24814203/

(0)

相关推荐

  • Python入门 Python值hashlib详解

    Python入门 Python值hashlib详解 编程玉子2021-02-19 17:05:19 阅读目录 一.hashlib的基本概念 二.如何产生hash值之三个阶段 三.校验文件的一致性(如何 ...

  • 【每周一坑】矩阵旋转

    每N周一坑(N>=1)又来啦!之前我们玩过一次矩阵[每周一坑]螺旋矩阵,今天继续来做矩阵相关的操作: 题目说明 给定一个 N * N 的矩阵(N >= 0),将其顺时针旋转 90°.输出处 ...

  • 【每周一坑】疯狂的小母牛 +【解答】数据库

    之前我们的"每周一坑"栏目挖了一个"单词本"的系列.不过看起来大家都这种中长线项目兴趣不大啊--最近的一期,直到最近几天才有一位同学提交了解答. 所以我决定暂停 ...

  • 【每周一坑】数据库 +【解答】自动翻译

    我们的系列坑 单词本 今天继续第3期. 上次我们的目标是加入自动翻译,需要用到网络接口,可以看作是一个最简单的爬虫.详细方法稍后分析,先来谈谈今天的任务: 使用数据库存储单词数据 交互效果与之前相同, ...

  • 【每周一坑】自动翻译 | 【解答】单词本

    上次我们挖了一个系列坑:[每周一坑]单词本. 第一期的目标,是实现控制台下的单词录入及保存功能.各位都有实现吗?在本文后半段,我们会来做具体分析. 在这之前,先给出新的目标: 自动给添加的单词增加翻译 ...

  • 【每周一坑】单词本 +【解答】三国演义中谁的存在感最强

    "每周一坑"这个系列在本教室的文章中,阅读量不算高.但我屡次在和读者沟通时听到说"我都有跟着每周一坑里的题在做".这是个有意思的普遍现象:内容的价值和传播度并不 ...

  • 【每周一坑】三国演义中谁的存在感最强 +【解答】暴力计算圆周率

    自然语言处理(NLP)是人工智能的一个重要领域.在对中文做自然语言处理的时候,一个很基础的操作就是分词:因为中文不像英语有现成的单词划分,需要将汉字序列切分成一个个单独的词,以便于后续的处理和分析. ...

  • 【每周一坑】暴力计算圆周率 +【解答】生成/识别二维码

    我们之前有出过一些和概率相关的问题.比如 几道有趣的概率题.三门问题.田忌赛马.蜥蜴流感与贝叶斯定理.我讲过,用计算机程序来解编程题有个很有意思的思路,就是暴力解法.就是利用电脑的计算能力,去模拟大量 ...

  • 【每周一坑】生成/识别二维码 +【解答】新个税计算器

    二维码的本质是将文本信息转化成符合一定格式的平面图片信息,以便于计算机/手机通过摄像头或扫码设备快速而准确地识别,实现信息的传递.从某种角度来说,二维码可算是打通次元壁的途径,将互联网与现实世界更便捷 ...

  • 【每周一坑】新个税计算器 + 【解答】数字水印

    根据全国人大常委会关于修改个人所得税法的决定,10月1日起,纳税人的工资.薪金所得将适用新的费用减除标准(通常说的"起征点"),由每月3500元提高到每月5000元,并适用新的个税 ...