2018春招-今日头条笔试题-第三题(python)

题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版)

解题思路:

本题的做法最重要的应该是如何拼出‘1234567890’,对于输入表达试获得对应的结果利用python内置函数eval()即可以实现。利用5个字符串来表达‘1234567890’,如下(为了更好看清,字符用‘|’分割了一下

'66666|....6|66666|66666|6...6|66666|66666|66666|66666|66666'
'6...6|....6|....6|....6|6...6|6....|6....|....6|6...6|6...6'
'6...6|....6|66666|66666|66666|66666|66666|....6|66666|66666'
'6...6|....6|6....|....6|....6|....6|6...6|....6|6...6|....6'
'66666|....6|66666|66666|....6|66666|66666|....6|66666|66666'
#-*- coding:utf-8 -*-

list_s=[ '66666....666666666666...66666666666666666666666666',
         '6...6....6....6....66...66....6........66...66...6',
         '6...6....66666666666666666666666666....66666666666',
         '6...6....66........6....6....66...6....66...6....6',
         '66666....66666666666....66666666666....66666666666']
n = int(input())
list_n=[]
#保存输入的表达式
for a in range(0,n):
    a=raw_input()
    list_n.append(a)
for b in list_n:
    s = eval(b)
    #将数字转化为list
    s=[int(i) for i in str(s)]
    for i in range(0,5):
        #将每个数字的一行存在一个数组
        string=[]
        for j in s:
            string.append(list_s[i][j * 5:j * 5 + 5])
        #以‘..’输出每一行
        print '..'.join(string)

 

 
posted @ 2018-03-27 22:06  ybf&yyj  阅读(769)  评论(0编辑  收藏  举报