作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
谁能帮我创建算法。我有模型 "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/
我想将 Casa_Batll%C3%B3 转换为 Casa_Batllş。 NSLog(@"Converting String:%@",[@"Casa_Batll%C3%B3" stringByRep
使用 clang++ 3.2。尝试打印 𝖆 (\u1D586), cout << endl; 或者, cout << "\u1D586" << endl; 得到不完整的输出: ᵘ6 似乎最后一个
你能轻松地在 ASCII 字符和它们的亚洲全角 Unicode 宽字符之间转换吗?喜欢: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS
我是一名优秀的程序员,十分优秀!