【问题标题】:Adding numbers 01-15 to the end of a set of numbers将数字 01-15 添加到一组数字的末尾
【发布时间】:2015-08-31 14:27:41
【问题描述】:

问题 有没有办法将数字 0-9 和 10-99 添加到像 e000 这样的数字的末尾,既适用于单个 e0001,也适用于像 e0010 这样的两位数,而不是 e00010 的预期结果?

目标 我正在寻找在可以处理添加 00、01、02、03、04、05、06、07、08、09、10、11、12、13 的扩展名 .png 之前添加一个值到对方_movefour-e000 的末尾, 14, 15.

我尝试了什么 如果我在 e000%d 的末尾添加 %d,我可以获得预期的值 e0000、e0001、e0002、e0003、e0004、e0005、e0006、e0007、e0008、e0009。

    self.opponent_movetwoImages = []
    for i in range(10):
        imgName = "opponentImages/opponent_movefour-e000%d.png" % i
        tmpImage = pygame.image.load(imgName)
        tmpImage = tmpImage.convert()
        transColor = tmpImage.get_at((1, 1))
        tmpImage.set_colorkey(transColor)
        self.opponent_movefourImages.append(tmpImage)

%d 按预期适用于数字 10 或以下,但如果我需要数字 11-20 怎么办

我知道将它设置为 15 会创建 e00010、e00011、e00012、e00013、e00014、e00015

有没有办法得到e0010、e0011、e0012、e0013、e0014、e0015

    self.opponent_movefourImages = []
    for i in range(15):   #needs to be 15 
        imgName = "opponentImages/opponent_movefour-e000%d.png" % i
        tmpImage = pygame.image.load(imgName)
        tmpImage = tmpImage.convert()
        transColor = tmpImage.get_at((1, 1))
        tmpImage.set_colorkey(transColor)
        self.opponent_movefourImages.append(tmpImage)

无法打开对手图像/opponent_movefour-e00010.png

【问题讨论】:

标签: python python-3.x


【解决方案1】:

使用-e%04d 而不是-e%d0 表示 0 填充,4 表示最小宽度为 4 位。

例如:

>>> 'e%04d' % 5
0005
>>> 'e%04d' % 55
0055

有关字符串格式的更多信息:https://docs.python.org/3.1/library/string.html#format-specification-mini-language

【讨论】:

  • 谢谢,我完全理解这一点,我之前阅读了那些字符串文档,但从未将一位数和两位数的连接称为宽度。即使在阅读了其他可能的重复问题之后,我也不会弄清楚。
猜你喜欢
  • 2015-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-13
  • 2016-06-19
  • 2011-06-16
  • 2017-09-29
  • 2018-12-22
相关资源
最近更新 更多