charWidth = 10 charHeight = 8 # char table is split into sets to prevent very long lines... charSet1 = [ " ###### /####### ###### /###### /######## /######## ###### /## /##", " /##__ ##| ##__ ## /##__ ##| ##__ ## | ##_____/| ##_____/ /##__ ##| ## | ##", "| ## | ##| ## | ##| ## \__/| ## \ ##| ## | ## | ## \__/| ## | ##", "| ########| ####### | ## | ## | ##| ########| ########| ## #####| ########", "| ##__ ##| ##__ ##| ## | ## | ##| ##_____/| ##_____/| ##|_ ##| ##__ ##", "| ## | ##| ## | ##| ## /##| ## /##/| ## | ## | ## | ##| ## | ##", "| ## | ##| #######/| ######/| ######/ | ########| ## | ######/| ## | ##", "|__/ |__/|_______/ \______/ |______/ |________/|__/ \______/ |__/ |__/", ] charSet2 = [ " /######## /## /## /## /## /### ### /## /## ###### /####### ", "|__ ##__/ | ##| ## /##/| ## | ########| ### | ## /##__ ##| ##__ ##", " | ## | ##| ## /##/ | ## | ## ## ##| ####| ##| ## | ##| ## | ##", " | ## | ##| #####/ | ## | ## ## ##| ## ## ##| ## | ##| #######/", " | ## | ##| ## ## | ## | ## ## ##| ## ####| ## | ##| ##____/ ", " | ## /## | ##| ##\ ## | ## | ##__/ ##| ##\ ###| ## | ##| ## ", " /########\ ######/| ## \ ##| ########| ## | ##| ## \ ##| ######/| ## ", "|________/ \______/ |__/ \__/|________/|__/ |__/|__/ \__/ \______/ |__/ ", ] charSet3 = [ " ###### /####### ###### /######## /## /## /## /## /## /## /## /##", " /##__ ##| ##__ ## /##__ ##|__ ##__/| ## | ##| ## | ##| ## | ##\ ## /##/", "| ## | ##| ## | ##| ## \__/ | ## | ## | ##| ## | ##| ## ## ## \ ####/ ", "| ## | ##| #######/ \ ###### | ## | ## | ##| ## | ##| ## ## ## \ ##/ ", "| ## ## ##| ## ## \___ ## | ## | ## | ##| ## ##/| ## ## ## / #### ", "| ##\ ###/| ##\ ## /## \ ## | ## | ## | ## \ ####/ | ######## / ## ## ", "| #### ##| ## \ ##\ ######/ | ## | ######/ \ ##/ | ###| ###/ ## \ ##", " \____\__/|__/ \__/ \______/ |__/ \______/ \__/ |___/|___/\__/ \__/", ] charSet4 = [ " /## /## /######## ###### ", "\ ## /##/|____ ##/ /##__ ## ", " \ ####/ / ##/ | ## | ## ", " \ ##/ / ##/ |__//####/ ", " | ## / ##/ | ##_/ ", " | ## / ##/ |__/ ", " | ## / ######## /## ", " |__/ \________/ |__/ ", ] charTable = [(charSet1[i] + charSet2[i] + charSet3[i] + charSet4[i]) for i in range(charHeight)] if __name__ == '__main__': text = input("Enter the text to convert:\n") if not text: text = "PYTHON" for i in range(charHeight): lineOut = "" for chr in text: # get value of character 'chr' in alphabet if chr.isalpha(): val = ord(chr.upper()) - 65 elif chr == " ": val= 27 else: val = 26 beginStr = val * charWidth # begin string position of 3D letter endStr = (val + 1) * charWidth # end string position of 3D letter lineOut += charTable[i][beginStr:endStr] print(lineOut)