主页

Python判断中使用多个and和or的优先级与踩坑

一个问题 最近刷力扣,想试试 Python 新支持的海象操作符, 其实就是能在语句中赋值, 类似下面这样: if (n:=len(nums)): return False 但是当出现下面这种情况的时候, 赋值就会失败: if True or (a:=1): print(a) ''' NameError: name 'a' is not defined ''' 出现这个错误的原因就是 Python 中and和or的优先级问题, 当语句中先出现or的时候, 如果or前面的值为True, 那这个语句就判断为真,而不会进行之后的判断了, 所以后面的赋值就不会执行. 那么问题来了, 当一条判断语句中同时出现and 和or, 这时候其优先级是如何呢? 根据以往的经验,...

阅读更多

C++递归lambda出现的循环初始值捕获问题分析与解决

问题 昨天开始刷回溯系列, 在用Python的时候一切良好, 但是到了C++这里, 我突然发现一模一样的代码竟然不出值了, 具体情况如下, 题目是全排列46. 全排列 - 力扣(LeetCode),我的代码如下: class Solution { public: vector<vector<int>> permute(vector<int>& nums) { int ns = nums.size(), i = 0; vector<int> path{}; vector<bool> used(ns, false); vector<vecto...

阅读更多

使用pandas批量重命名(指定excel中的对应列)

写在前面 今天有个朋友问我有没有一种简单的方法将Excel中的学号和姓名列作为文件名, 批量重命名100个Word文档, 下面是具体的文件, 文件夹中是待修改的Word文档(存在一些比较冗杂的xlsx文件), Excel前两列是学号和姓名信息. 文件夹内容 可以看到里面的文件名主要的格式为:<姓名><等级或成绩><成绩><其他信息>.docx, (忽略其他冗余文件). Excel内容 这里不方便给出截图, 以表格形式简单描述: 序号 学号 姓名 其他信息 1 20XXXXXXXX 张三 ...

阅读更多

定制neovim的一键编译运行快捷键

写在前面 最近使用的编辑器开始向nvim转变, 下面配置一个编译运行C/C++/Python/Lua/sh/make/…程序的一键编译自动命令, 采用纯lua的API编写, 参考了stackoverflow的一个回答1. 命令框架 主要采用vim的autocmd, 搭配FileType事件, 使得vim能根据扩展名判断使用哪个函数调用. 然后就是用设置buffer内键映射的方法, 配置命令, 快捷键以及默认模式. Python示例 下面以Python为例, 这里我用了我自己的虚拟环境中的Python解释器, 设置快捷键为<F7>, 在普通模式中运行代码. 开头的命令是保存然后划分窗口打开终端, %表示当前文件的文件名, 最后的i表示可以直接编辑输出的内容(方便...

阅读更多

Macos使用nvim+latex+skim配置高效的论文写作环境

写在前面 折腾一下在Mac上配置neovim写LaTeX的环境, 以及skim阅读器的配置. 这里参考了一位朋友的配置1, 我改成了在mac上使用的配置了. vimtex配置 function config.vimtex() vim.g.tex_flavor='latex' -- Default tex file format vim.g.vimtex_view_method = 'skim' -- allows forward search after every successful compilation vim.g.vimtex_view_skim_sync = 1 -- allows change focus to skim af...

阅读更多

C语言网络接口函数inet_ntoa用法小坑与分析

问题 今天看了一下网络编程, 发现其中有一个接口函数很有意思, 就是从二进制转换到点分十进制表示的IP地址 的函数inet_ntoa(), 直接使用倒是没什么异样, 但是下面一个例子却出现了一个很有趣的现象: #include <netinet/in.h> #include <stdio.h> #include <string.h> #include <arpa/inet.h> #include <sys/_endian.h> int main(int argc, char *argv[]) { struct sockaddr_in addr1, addr2; char *str_ptr; cha...

阅读更多

Clang Format命令行调用时遇到的小坑(vim)

写在前面 最近开始用neovim作为IDE了, 虽然参考了大佬的配置, 自己也学会了一些Lua语言的配置方法, 但是还是难免遇到一些奇奇怪怪的玄学问题, 不过,最终还是解决了. 问题描述: 在vim调用``clang-format`时候, 总是不会正常的进行格式化, 也没有任何报错.格式化的代码如下(通过命令行进行调用) clang-format -style='{BasedOnStyle: Google, IndentWidth: 4, SortIncludes: false, AccessModifierOffset: -4, ContinuationIndentWidth: 4, AlignAfterOpenBracket: true, AlignOpe...

阅读更多

Neovim中并行运行宏的快捷操作与lua脚本实现

写在前面 最近入坑vim了, 主要是想整一个纯键盘操作的编辑器, 用sublime当然方便, 但是还是需要鼠标点点点, 不知不觉中降低了效率. (但是过渡阶段还是得先用sublime的) 之前一个朋友就推荐过neovim, 并且帮我配置了在Mac的iTerm上的nvim环境, 当时没学过lua感觉配置起来bug很多, 为了稳定还是一直用的sublime, 直到后来我发现sublime的编译以及运行一些代码的时候需要很繁琐的配置, 格式化代码的插件也几乎都是8~9年前的了, 用起来很不方便, 于是还是想转入vim阵营((我是一直追求轻量级的)). 最近也一直在研究lua的一些基本语法, 不得不说lua脚本的语法真的是一股清流, 我以前就以为Python就是相当简洁明了的脚本了...

阅读更多

Total views.
您是Zorch的第 个小伙伴
Hits