【问题标题】:How to convert the last number of Str = (2021GC110) in Int on Python如何在 Python 上转换 Int 中 Str = (2021GC110) 的最后一个数字
【发布时间】:2021-12-28 10:14:41
【问题描述】:

我是 Django 的初学者,我尝试转换 Str,其基础是(2021(年)-CG(产品名称)-1(ID 产品)-101(var 产品)。

但我需要变量的最后一个数字。

示例: 产品一:2021CG1101 产品2:2021CG1102

这是我的观点.py

    if serialNumberForm.is_valid():
        os = serialNumberForm.save(commit=False)
        Produto.numeroSerie = NumeroSerie.id
        os.numeroSerie = id
        lastProduct = NumeroSerie.objects.last()
        
        if lastProduct == None:
            prefix = datetime.date.today().year
            fix = product.nome[3:6]
            sufix = Produto.id
            var = 10
            os.serialNumber = str(prefix) + fix + str(sufix) + str(var)
            
        elif int(lastProduct.serialNumber[0:3]) != datetime.date.today().year:
            prefix = datetime.date.today().year
            fix = product.nome[3:6]
            sufix = Produto.id
            var = 10
            os.serialNumber = str(prefix) + fix + str(sufix) + str(var)
       
        else:
            prefix = datetime.date.today().year
            fix = product.nome[3:6]
            sufix = NumeroSerie.produto(os)
            var = (lastProduct.serialNumber[-1]) =+ 1
            os.serialNumber = str(prefix) + fix + str(sufix) + str(var)
        
        os.save()
        

【问题讨论】:

  • 上面代码的错误是什么?
  • 我的变量在 else 块中,它不接受它,它没有变化
  • 将此行var = (lastProduct.serialNumber[-1]) =+ 1 替换为:var = int(lastProduct.serialNumber[-1]) + 1
  • 谢谢,我看到了我的错误,我现在犯了:var = int(lastProduct.serialNumber[-1] var += 1

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


【解决方案1】:

这看起来像是正则表达式的任务:

import re
reg = re.compile(r"(?P<year>\d{4})(?P<group>[A-Z]{2})(?P<number>\d+)")
match = reg.match("2021CG1101")
if match is not None:
    result = match.groupdict()
    print(result['year'])
    print(result['group'])
    print(result['number'])

【讨论】:

  • 谢谢,我解决了 var +=1 并将我的 var 转换为 int
猜你喜欢
  • 2018-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-01
  • 2017-01-18
  • 1970-01-01
  • 1970-01-01
  • 2018-07-16
相关资源
最近更新 更多