Possible en double:
Overriding the newline generation behaviour of Python's print statement
PPM image to ASCII art in Pythonliste python question
Ceci est mon code, j'ai l'impression des personnages, mais je dois qu'ils soient sur la même ligne et rupture au La fin de la ligne.
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)
Toute aide serait appréciée.
ce code me fait peur !! –
Ne pensez pas que cette question précédente est en fait un bon doublon, phooji. – Amber
@asmith: J'ai marqué votre question en tant que doublon d'une ancienne question de stackoverflow. En outre, vous posez beaucoup de questions qui sont très similaires dans la nature; ceci est déconseillé (http://blog.stackoverflow.com/2009/04/a-day-in-the-penalty-box/). – phooji