【发布时间】:2017-05-31 23:42:06
【问题描述】:
如果没有 concat 字符串或 if 条件等,请使用算术单行。请最好用 Python 编写。
故事背景:遗留系统需要监听端口的最后一位数字以 [0-4] 结尾,因此 [5-9] 保留给镜像 TCP。
我编写了一个生成 idempotent random number 的部署脚本,但无法保证 [0-4] 中的最后一个数字。由于 Ansible & Jinja2 模板语言是有限的,所以我不希望代码过多地依赖于毛茸茸的字符串操作和if 条件。
一旦生成了幂等随机数,我需要一个算术函数将数字投影到最后一位在0到4之间的另一个整数,并且仍然保证幂等性
【问题讨论】:
-
你能用模数吗?
-
随机数模数除以 4。
-
生成0到49的随机数,然后翻转。
-
你做了哪些研究?对于 4k 代表用户,我有点惊讶您会在没有提供任何研究或 MCVE 的情况下发布问题。
标签: python random ansible jinja2