python中的模块化加法

Posted

技术标签:

【中文标题】python中的模块化加法【英文标题】:Modular addition in python 【发布时间】:2011-10-04 19:56:39 【问题描述】:

我想将一个数字 y 添加到 x,但让 x 环绕以保持在 0 和 48 之间。注意 y 可能是负数,但幅度永远不会大于 48。有没有比这样做更好的方法:

x = x + y
if x >= 48:
    x = x - 48
elif x < 0:
    x = x + 48

?

【问题讨论】:

【参考方案1】:
x = (x + y) % 48

模运算符是你的朋友。

>>> 48 % 48
0: 0
>>> 49 % 48
1: 1
>>> -1 % 48
2: 47
>>> -12 % 48
3: 36
>>> 0 % 48
4: 0
>>> 12 % 48
5: 12

【讨论】:

【参考方案2】:

如果你在做模运算,你只需要使用模运算符。

x = (x + y) % 48

【讨论】:

【参考方案3】:

不只是(x+ y)% 48 适合你。查看更多关于模数here的信息。

【讨论】:

【参考方案4】:

你可以使用模运算符:

x = (x+y) % 48

【讨论】:

【参考方案5】:

你可以使用

x = (x+y) % 48

这将为您提供任何数字的正面x

【讨论】:

非负 x(可能为 0)。【参考方案6】:

(x + y) % 48

用你喜欢的任何东西替换 48。

【讨论】:

【参考方案7】:

您还可以创建一个类来处理模运算,就像这里所做的那样: http://anh.cs.luc.edu/331/code/mod_arith.pyhttp://anh.cs.luc.edu/331/code/mod.py

【讨论】:

以上是关于python中的模块化加法的主要内容,如果未能解决你的问题,请参考以下文章

python unittest模块使用

python中collections常用模块总结

在 topmodule 中制作子模块会导致验证器错误 [关闭]

那些Python中的模块

python如何在一个模块中调用另一个模块中的变量

如何导入python中的模块