【发布时间】:2020-11-17 20:28:58
【问题描述】:
我有一个值 d,它可以介于 0 和 maxD 之间,还有一个包含字符的列表 l,特别是:
list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'. ")
我想编写一个函数,它返回 l 中的一个元素 d 和 maxD。 maxD 可能大于或小于 len(l)。
这是我想要的,但正确:
def mapChar(d, maxD):
return l[maxD/d*len(l)]
我正在控制台中渲染 3d 对象,此函数将获取到点 d 的距离和渲染距离 maxD 并从列表中返回 ASCII 着色值。
我可以用什么逻辑来实现它?
【问题讨论】:
-
您有问题吗?
-
哇,我的问题的下半部分被砍掉了。不知道这是怎么回事。
-
我想你只想要
d/maxD而不是maxD/d;你基本上想为x解决x/len(l) == d/maxD。 -
x必须是int,在这种情况下,如果两个值都是ints,您将需要d // maxD,或者如果两者都可以是float,则需要int(d/maxD). -
d和maxD都是 int。所以我会做l[d//maxD*len(l)]?
标签: python arrays python-3.x list dictionary