For any ascii characters ch
, I would like to print ch
unless repr(ch)
begins with a back-slash character.
I want to print a list of all of the "nice" ascii characters.
Failed Attempt
import re
characters = [chr(num) for num in range(256)]
# `characters` : a list such that every element
# of the list is an ASCII character
escaped_chars = [repr(ch)[1:-1] for ch in characters]
# `escaped_chars`: a list of all ASCII character unless
# the character is special
# new line is stored as "\n"
# carriage return is stored as "\r"
printables = "".join(filter(lambda s: s[0] != "\\", escaped_chars))
print("\n".join(re.findall('.{1,20}', "".join(printables))))
The console print-out is:
!"#$%&'()* ,-./0123
456789:;<=>?@ABCDEFG
HIJKLMNOPQRSTUVWXYZ[
]^_`abcdefghijklmnop
qrstuvwxyz{|}~¡¢£¤¥¦
§¨©ª«¬®¯°±²³´µ¶·¸¹º»
¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ
ÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâã
äåæçèéêëìíîïðñòóôõö÷
øùúûüýþÿ
I seem to have printed a lot of weird unicode characters, such as ç
and õ
CodePudding user response:
import re
characters = [chr(num) for num in range(127)]
# `characters` : a list such that every element
# of the list is an ASCII character
escaped_chars = [repr(ch)[1:-1] for ch in characters]
# `escaped_chars`: a list of all ASCII character unless
# the character is special
# new line is stored as "\n"
# carriage return is stored as "\r"
printables = "".join(filter(lambda s: s[0] != "\\", escaped_chars))
print("\n".join(re.findall('.{1,20}', "".join(printables))))
As sj95126 wrote:
values above 127 aren't ASCII characters
Here's right code