python - 拉丁字母的字母生成算法?

标签 python django algorithm python-3.x django-views

谁能帮我创建算法。我有模型 "Function" 和字段 "symbol"

当用户创建新的函数对象时,系统需要根据英文字母自动创建"symbol" 字段的值。现在我只做了从 A 到 Z,没有重复记录字段值。

例如:

A
B
-
Z
AA
AB
-
AZ
BA
BB
-
ZZ
AAA
etc.

模型.py:

class Function(models.Model):
    id= models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    project = models.ForeignKey(Project, on_delete=models.CASCADE)
    name = models.CharField(max_length=250)
    symbol = models.TextField ()

    def __str__(self):
        return self.name

views.py:

if form.is_valid():
   for i in string.ascii_uppercase:  # (A-Z)
         if not Function.objects.filter(symbol=i, project=project_code).exists():
             function = form.save(commit=False)
             function.symbol = i
             function.save()
             break

最佳答案

让内置函数为您完成枯燥的工作。

我认为使用 itertools.product() 会做得更好.创建生成器并在需要下一个组合时调用 next() 。如果您想从 1 个字母的字符串开始并从那里开始工作,请将空格作为字母表的第一个元素;当你抓取一个新标签时,在应用它之前strip()空白区域。

关于python - 拉丁字母的字母生成算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43190010/

相关文章:

algorithm - 我找到了一种在 O(E/V) 中计算多个 MST 的算法。这个可以发表吗?

python - 如何通过另一个数据框中的键过滤数据框中的列

python - 无法在 Python 控制台中使用 'cd' 命令

python - 允许Python应用程序继续运行直到用户结束

javascript - django-grappelli 2.4.8 错误

python - json.解码器.JSONDecodeError : Unexpected UTF-8 BOM (decode using utf-8-sig)

python - Django:用户登录系统与用户注册不在同一页面中工作

python - MySQL AB,HKEY_LOCAL_MACHINE 中的 MySQL Server 5.5 文件夹不存在

c++ - 红黑树实现

algorithm - 如何按顺时针/逆时针方向对所有多边形点进行排序?