如何解决在python中打印一个字符串,就像点阵打印机的工作原理
我想使用“*”或任何其他给定的特殊字符(例如点阵打印机的工作原理)打印任何英文字母。
我可以想出一个函数 def printLetters(string,font_size,special_char):
,当它与任何字母一起传递时,将使用指定的特殊字符打印该字母。
考虑字母“A”:
def printLetters('A',10,'&'): # would print the letter A within a 10x10 matrix using '&'
&&&&&&&&
& &
& &
& &
&&&&&&&&&&
& &
& &
& &
& &
& &
以及每个字符的此类代码片段。 “A”的示例:
FUNCTION_TO_PRINT_A:
space = ' '
#print first line
print('',special_char*(font_size-2))
for i in range(1,font_size-1):
#print(i)
if font_size//2 == i:
print(special_char*(font_size))
print(special_char,space*(font_size-2),special_char,sep = '')
printLetters('A',"&")
但是当参数 string
有多个字符时,它会在第一个字符后打印乱码。
所以我只是想要一些想法/代码片段,它会先打印 string
中所有字符的第一行,依此类推直到最后一行,以便所有这些 字符 并排排列水平在控制台上。
解决方法
啊,美好的回忆。在 GUI 出现之前,我们曾经一直在做这种事情。想要单独定义每个字母的形状是好的,但是单独制作一个打印每个字母的函数显然没有用。一个字母打印N行后,就没有办法回到顶部了。
你知道你需要打印所有字母的第一行,然后是所有字母的第二行,等等。我不想给你写一个完整的例子,因为学习如何计算对你来说非常重要这种事情,但你为什么不从这样的事情开始:
font = {
'A': [
' ### ','# # ','##### ','# # '
],'B': [
'#### ','#### ','#### '
],...etc...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。