我在 Python 中有一个问题,即使它相当简单(我认为),我也无法理解。
我正在尝试制作“字符串系列”。我真的不知道它叫什么,但它是这样的:
我想要一个使字符串串联运行的函数,以便每次调用函数时都会“计数”一次。
我有一个带有“a-z0-9._-”的列表(a 到 z、0 到 9、点、下划线、破折号)。我应该从我的方法中收到的第一个字符串是aaaa,下次我调用它时,它应该返回aaab,下次aaac等等,直到我到达----
此外,脚本的字符串长度是固定的,但应该很容易更改。
(在您查看我的代码之前,如果我的代码不符合约定,我想向您道歉;我几天前开始编写 Python 代码,所以我还是个菜鸟)。
我有什么:
生成我的可用字符列表
chars = []
for i in range(26):
chars.append(str(chr(i + 97)))
for i in range(10):
chars.append(str(i))
chars.append('.')
chars.append('_')
chars.append('-')
获取序列中的下一个字符串
iterationCount = 0
nameLen = 3
charCounter = 1
def getString():
global charCounter, iterationCount
name = ''
for i in range(nameLen):
name += chars[((charCounter + (iterationCount % (nameLen - i) )) % len(chars))]
charCounter += 1
iterationCount += 1
return name
这getString()
是需要修复的功能,特别是名称的构建方式。
我有这种感觉,可以通过在索引中使用正确的“modulu hack”,但我不能让它按预期工作!