找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1920|回复: 2

[求助] 新人,第一次玩这个,问问大牛,这个有没更简洁的代码?

1

主题

3

帖子

3

积分

贫民

积分
3
hatold 发表于 2018-12-8 21:42:32 | 显示全部楼层 |阅读模式
比如:201812081000201812080001201812080111

要分别修改成
2018120810002018120800120181208111


日期搞定位数,后面的低于4位,就格式化成3位,不够补0,如果等于4位,就保持


下面是我写的代码,第一次玩,感觉写的很乱


  1. number = str('201812080200')
  2. numlist = list(number)
  3. numberlist = [0 for i in range(8)]
  4. for i in range(8):
  5.         numberlist[i] = numlist[i]
  6. numberA = "".join(numberlist)
  7. numberA = str(numberA)
  8. numberlist = [0 for i in range(4)]
  9. for i in range(4):
  10.         numberlist[i] = numlist[i+8]
  11. numberB = "".join(numberlist)
  12. numberB = str(int(numberB))
  13. if len(numberB) < 4:
  14.         numberB = str(numberB.zfill(3))
  15. number = str('%s%s'%(numberA, numberB))
  16. print(number)
复制代码


回复

使用道具 举报

3

主题

278

帖子

278

积分

侠客

积分
278

热心会员

uitb 发表于 2018-12-9 10:52:42 | 显示全部楼层
number = str('201812080200')

numberA = number[:-4]
numberB = number[-4:].lstrip('0').zfill(3)

number = numberA + numberB
回复 支持 反对

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
hatold  楼主| 发表于 2018-12-10 00:27:22 | 显示全部楼层
uitb 发表于 2018-12-9 10:52
number = str('201812080200')

numberA = number[:-4]

谢谢大神,已经学会了

  1. drawIssue = "2018120900002"
  2. drawIssue = '%s%s'%(drawIssue[0:8],str(int(drawIssue[8:])).zfill(3))
  3. print(drawIssue)
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表