首页 > 编程语言 > 详细

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

时间:2018-03-27 22:15:01      阅读:265      评论:0      收藏:0      [点我收藏+]

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

解题思路:

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

‘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)

 

 

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

原文:https://www.cnblogs.com/ybf-yyj/p/8660564.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!