我的代码当前读取一个字符串(由数字0
- 9
组成)并使用该值将一个磁贴blit到相应数组中的屏幕。由于我使用数字,因此很容易将字符串切片以获得一个字符并将该值转换为int以将其用作索引,例如:
display.blit(tiles[int(slicedString), rect])
由于我使用这种方法,因此我只能在tiles数组中有10个元素(因为我不能像10
那样切割数字)。任何人都可以想办法解决这个问题,让我们说,在数组中有20个元素吗?
答案 0 :(得分:1)
以同样的方式,例如十六进制对'a'
使用10
,'b'
使用11
,依此类推,只需使用9
以外的数字:
0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j
这样做的一个优点是Python中的int
已经为base
以外的10
实现了这一点:
>>> int('a', 20)
10
>>> int('j', 20)
19
>>> int('hi', 20)
358
简化了您的实施。