运行书上的代码出现错误
from PIL import Image
ascii_char = list('0,1')
def get_char(r,g,b,alpha=256):
if alpha == 0:
return ' '
gray=int(0.2126*r+0.7152*g+0.0722*b)
unit=256 / len(ascii_char)
return ascii_char [gray//unit]
def main():
im=Image.open("D:\\sunset.jpg")
WIDTH,HEIGHT=100,60
im=im.resize((WIDTH,HEIGHT))
txt = ""
for i in range(HEIGHT):
for j in range(WIDTH):
txt += get_char(*im.getpixel((j,i)))
txt += '\n'
fo = open("pic_char.txt","w")
fo.write(txt)
fo.close()
main()
Traceback (most recent call last):
File "D:\DesignWork\venv\Scripts\CharImage.py", line 21, in <module>
main()
File "D:\DesignWork\venv\Scripts\CharImage.py", line 16, in main
txt += get_char(*im.getpixel((j,i)))
File "D:\DesignWork\venv\Scripts\CharImage.py", line 8, in get_char
return ascii_char [gray//unit]
TypeError: list indices must be integers or slices, not float
第七行改成unit=int(256 / len(ascii_char))