python - 如何使用定义的参数构建一系列位置?
问题描述
我有一个非常基本的编程背景,但我得到了一个快速的任务,即拥有一个可以获取源和目标位置的程序,并基本上吐出源和目标之间所有位置的范围。
我构建了输入 GUI,并将所有变量传递给一个函数,现在我只需要弄清楚如何正确循环它。
位置是这种形式(没有空格):XXXXXXXXXXX 001 X 01 01
X 是根据我传入的值进行硬编码的。最后一个条目应该首先缩放。我还在最后两个字段中的每个字段中都有一个可能的最大值的条目。
示例来源:XXXXXXXXXXX003X0102
示例目的地:XXXXXXXXXXX004X0201
在这种情况下,程序将根据 003 和 004 之间的范围输出以下内容,最后 2 个位置的最大范围为 03 和 02(将添加空格以便于阅读):
[使用输入和最大值的范围是"XXXXXXXXXXX 003->004 X 01->03 01->02"
]
XXXXXXXXXXX 003 X 01 02
XXXXXXXXXXX 003 X 02 01
XXXXXXXXXXX 003 X 02 02
XXXXXXXXXXX 003 X 03 01
XXXXXXXXXXX 003 X 03 02
XXXXXXXXXXX 004 X 01 01
XXXXXXXXXXX 004 X 01 02
XXXXXXXXXXX 004 X 02 01
现在我能够创建一个 GUI 来输入所有这些值并将它们传递给一个函数。
我认为这将最好使用输入范围内的 3 个嵌套 for 循环,但我真的很困惑如何在嵌套在循环中时使用前导 0 加上条件最大值来递增。
伪未完成代码->
def addressGenerator(bMax, cMax, X, sourceA, sourceB, sourceC, destinationA, destinationB, destinationC):
for x in range(sourceA, destinationA):
for y in range(01, bMax):
for z in range(01, cMax):
# content
解决方案
现在,不要担心前导零。相反,使用整数来维护您的计数,然后使用格式化的打印语句为您插入零:
for x in range(3,5):
for y in range(1,4):
for z in range(2,5):
print("XXXX{:03d}XX{:02d}{:02d}".format(x, y, z))
推荐阅读
- ruby - 如何防止 peek 方法将读取光标向前移动?
- html-table - 表内的 Bootstrap 4 datetimepicker 设计不正确
- python - Pandas 使用多个条件在列中分配值:
- java - 使用 java nullpointerexception 显示背景图像
- mysql - 在 bash 中获取 MySQL 输出
- django-rest-framework - 脚本的哪一部分使 JSON API 作为 Django Rest Framework 中的对象数组返回?
- c# - 在 ControlTemplate 触发器中获取 WPF ContextMenu 打开方向
- gitlab - Gitlab-CI 非零退出成功
- css - Angular 的父组件应该如何设计子组件?我想要一个不会被弃用的好解决方案
- apache-flink - Flink-Dataset-Flink 可以尊重多个流/输入的处理顺序吗?