|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 跳起来学编程 于 2021-1-11 07:15 编辑
- font =""" _ _ _ _ _ _ _ _
- | | | _| _||_||_ |_ ||_||_|
- |_| ||_ _| | _||_| ||_| _|"""
- while True:
- num = input('请输入数字:')
- if num.isdigit():
- break
- else:
- print('输入错误!', end = '')
- for line in range(3):
- for n in num:
- print(font[31 * line + int(n) * 3: 31 * line + int(n) * 3 + 3], end = '')
- print()
复制代码
- font =""" _ _ _ _ _ _ _ _
- | | | _| _||_||_ |_ ||_||_|
- |_| ||_ _| | _||_| ||_| _|"""
- print(font)#我们直接将font打印看看他到底是什么状态
- '''
- _ _ _ _ _ _ _ _
- | | | _| _||_||_ |_ ||_||_|
- |_| ||_ _| | _||_| ||_| _|
- '''
- #上面就是font的实际状态,因为代码中没有对齐,所以看起来有点别扭
- print(len(font))#我们打印一下font的整体字符串长度,是92
- for i in font.split("\n"):
- print(len(i))#分别打印每行字符串长度,结果是30,30,30,每个数字分别由3个长度坐标组成
- #为什么加起来是90而不是92,因为字符串font本身含有两个换行符,所以后边用31作公因数
-
- while True:
- num = input('请输入数字:')
- if num.isdigit():#检验输入是否完全由数字组成
- break
- else:
- print('输入错误!', end = '')
- for line in range(3):#line==0,1,2 31*line 就分别是 0,31,62,就是每一行的第一个字符位置
- for n in num:
- a = 31 * line + int(n) * 3 #分别打印num组成数字的每行的开始坐标
- b = 31 * line + int(n) * 3 + 3#分别打印num组成数字的每行的结束坐标
- print(font[31 * line + int(n) * 3: 31 * line + int(n) * 3 + 3], end = '')
- #相当于 print(font[a:b],end=''),for循环内不换行,因为num还没打印完毕,否则散架了
- print() #此时打印打印换行,因为line是逐行打印,由3行组成,本质就是font的新组合方式显示num
复制代码
|
|