20181210Python 自动化笔试题,挑战你的知识库

image.png

柠檬班学员面试遇到的笔试题!!!
出招吧各位大佬!

26 回帖
请输入回帖内容 ...
  • 404

    image.png
    我发现我就不习惯用 for 循环,老是想到 while😂

  • 其他回帖
  • fengwujiutian

    if name == 'main':
    num = int(input('input a number:'))
    newLi = []
    li = [x for x in range(1,num,2)]
    if num % 2 != 0:
    newLi = li + [num] +li[::-1]
    else:
    newLi = li + li[::-1]
    print(newLi)
    for i in newLi:
    print(i*'*')

  • mmklyz

    早上花了差不多一个小时,才搞出来,如果面试,啊,磨磨唧唧肯定写不出来。主要是算空格 * 和行的关系。代码中区分了 n 为奇数或偶数的情况。附上代码:
    image.png

    n=9 时:
    image.png

    n=10 的时候:
    image.png

  • D_Sai
    # -*- coding: UTF-8 -*-
    # @Author: Sai_Python12
    # @Email: 932934045@qq.com
    # @File: StarStar.py
    
    class MyStar:
        '''星星类'''
        def __init__(self, n):
            self.n = n
            self.data_1 = [] #存放上半部左侧空格数量
            self.data_2 = [] #存放上半部星号数量
    
        def my_star(self):
            K = int((self.n+1)/2) #K 为上部一半
            for i in range(1, K+1):#i 为行数
                self.data_1.append(K-i)
                self.data_2.append(2*i-1)
                print(' '*self.data_1[i-1] + '*'*self.data_2[i-1])
    
            if self.n % 2 == 0:
                for i in range(1, K+1):
                    print(' '*self.data_1[-i] + '*'*self.data_2[-i])
            else:
                for i in range(1, K):
                    print(' '*self.data_1[-i-1] + '*'*self.data_2[-i-1])
            print(self.data_1)
            print(self.data_2)
    
    if __name__ == '__main__':
        MyStar(6).my_star()
    

    image.png
    image.png

  • 查看更多回帖