【发布时间】:2011-09-12 04:41:22
【问题描述】:
可能重复:
Overriding the newline generation behaviour of Python's print statement
PPM image to ASCII art in Python
这是我的代码,我打印了字符,但我需要它们在同一行并在行尾中断。
import sys
def main(filename):
image = open(filename)
#reads through the first three lines
color = image.readline().splitlines()
size_width, size_height = image.readline().split()
max_color = image.readline().splitlines()
#reads the body of the file
pixels = image.read().split()
red = 0
green = 0
blue = 0
r_g_b_value = []
#pulls out the values of each tuple and coverts it to its grayscale value
for i in pixels:
if i != "\n" or " ":
if len(i) == 3:
red = int(i[0]) * .3
green = int(i[1]) * .59
blue = int(i[2]) * .11
elif len(i) == 2:
red == int(i[0])
green == int(i[1])
blue == 0
elif len(i) == 1:
red == int(i[0])
green == 0
blue == 0
r_g_b_value = [red + green + blue]
grayscale = []
character = []
for j in r_g_b_value:
if int(j) <= .2:
character = "M"
elif int(j) > .2 and int(j) <= .4:
character = "#"
elif int(j) > .4 and int(j) <= .6:
character = "A"
elif int(j) > .6 and int(j) <= .8:
character = "@"
elif int(j) > .8 and int(j) <= 1:
character = "$"
elif int(j) > 1 and int(j) <= 1.2:
character = "0"
elif int(j) > 1.2 and int(j) <= 1.4:
character = "e"
elif int(j) > 1.4 and int(j) <= 1.6:
character = "a"
elif int(j) > 1.8 and int(j) <= 2:
character = "o"
elif int(j) > 2 and int(j) <= 2.2:
character = "="
elif int(j) > 2.25 and int(j) <= 2.5:
character = "+"
elif int(j) > 2.5 and int(j) <= 2.75:
character = ";"
elif int(j) > 2.75 and int(j) <= 3:
character = ":"
elif int(j) > 3 and int(j) <= 3.4:
character = ","
elif int(j) > 3.4 and int(j) <= 3.9:
character = "."
else:
character = " "
character += character
grayscale = [character]
print(grayscale)
任何帮助将不胜感激。
【问题讨论】:
-
这段代码吓到我了!!
-
不要认为上一个问题实际上是一个很好的重复,phooji。
-
@asmith:我已将您的问题标记为与旧的 stackoverflow 问题重复。此外,您提出了许多性质非常相似的问题;不鼓励这样做 (blog.stackoverflow.com/2009/04/a-day-in-the-penalty-box)。
-
@Amber:你是对的stackoverflow.com/questions/2623470/… 可能更接近。请注意,OP 的其他问题非常相似。
-
别再问同一个问题了。
标签: python list python-3.x