小编Bil*_*lly的帖子

Python - 如果除法有余数,则抛出异常?

在Python中,您可以:

assert a % b == 0
c = a // b
Run Code Online (Sandbox Code Playgroud)

这有简写吗?换句话说,如果有一个余数,一种做整数除法的方法抛出异常?

我问的原因是在这样的情况下会很方便:

count = len(self.rawr.foo) / self.this.is.a.long.variable
Run Code Online (Sandbox Code Playgroud)

现在我必须制作临时变量:

a = len(self.rawr.foo)
b = self.this.is.a.long.variable
assert a % b == 0
count = a // b
Run Code Online (Sandbox Code Playgroud)

这似乎不是pythonic.

我知道像C#这样的语言有办法安全划分; 奇怪,Python没有.

python

5
推荐指数
1
解决办法
168
查看次数

在Nano和Pico中,是否可以在Vim中使用Ctrl-K剪切/未剪切功能?

如果您不熟悉它的工作原理,在Pico和Nano中你可以多次点击ctrl-k,它会将每一行添加到剪贴板.然后你可以按住"解锁"这个.这是一个非常有用的命令.Vim与dd命令类似,但它一次只能运行一行.因此,您必须使用可视模式来正确完成上述操作.

我无法在网上找到一个好的答案所以我推出了自己的解决方案.您可以将其添加到vimrc文件中:

imap <C-k> <Esc>:execute @a ? 'normal! "Bdd' : 'normal! "bdd'<cr>:let @a=1<cr>:echo ''<cr>i
imap <C-u> <Esc>"bPi
autocmd CursorMovedI * execute(':let @a=0')
Run Code Online (Sandbox Code Playgroud)

寄存器@a用于跟踪是否应追加切割线.寄存器@b用作剪贴板寄存器.每当光标位置改变时,您将停止处于"追加"模式.因此,您可以反复按住ctrl-k以保持追加线,但是一旦移动光标,您就会恢复正常.我很确定这就是Nano和Pico在引擎盖下实现它的方式.

有人知道更清洁的解决方案吗?

vim nano pico

1
推荐指数
1
解决办法
783
查看次数

标签 统计

nano ×1

pico ×1

python ×1

vim ×1