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

image.png

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

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

    😎 坐等答案!

  • pangluo

    几年前学 c++ 写的这个
    image.png
    这个是更久之前用 turboc C 写的
    image.png
    image.png

    这个是用易语言写的 demo
    image.png

    代码 ~~ 可能早到没了吧
    不会 python,蹭一下回复,

    想起夕阳下的奔跑,那是我逝去的青春ԅ(¯ㅂ¯ԅ)

  • 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

  • mmklyz

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

    n=9 时:
    image.png

    n=10 的时候:
    image.png

  • mmklyz

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

  • huahua

    😭 同九义,汝何秀!

  • huahua

    😺 😺 😺 😺 有的时候写上思路,比写出代码更重要!

  • main2019

    13 期的只学了基础,只能用自己的方法,哈哈哈取了 n=5 6 16image.png
    image.png
    image.png
    image.png

  • huahua

    非常不错 1!!

  • arong

    image.png
    因为之前有个作业是输出直角三角形,所以昨天抽空琢磨了下正三角形的输出,emmm 还是先算出来规律才写的。。今天看到这个作业,又改动了下,为了加空格差点把自己绕进去😂 😂

  • 18270811807

    终于琢磨出满足所有数字😀
    image.png
    image.png
    image.png
    image.png

  • huahua

    真优秀!!!

  • 404

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

  • tyh498366331

    image.png
    image.png
    Python 自动化 13 期童鞋,来报个到

  • Chouchiehlun257248
    # 镜像星星金字塔
    def mirror_star_pyramid(n):
        i = 1# 给定初始值
        star_list1 = []# 存正金字塔每一层元素
        star_list2 = []# 存倒金字塔每一层元素
        while i <= n:
            star_list1.append(' '*((n-i)//2) + '*'*i + ' '*((n-i)//2))
            # n的奇偶性将决定倒金字塔的元素是跟正金字塔一样还是比正金字塔少一层
            if n % 2:
                star_list2.append(' '*((i+1)//2) + '*'*(n-i-1) + ' '*((i+1)//2))
            else:
                star_list2 = star_list1[::-1]
            i += 2
        for each in star_list1:print(each)
        for each in star_list2:print(each)
    
    if __name__ == '__main__':
        mirror_star_pyramid(5)
        mirror_star_pyramid(6)
    
  • tyh498366331

    大佬,这个方法厉害,我怎么没想到

  • Chouchiehlun257248

    碰巧的,我看到我和 3 楼的思路是差不多的

  • D_Sai

    哎哟,同道中人😼 👬

  • changhen

    代码付上,任意整数的阵列,还在公司不能电脑截图
    def wan(k):
    m=1
    n=int((k+1)/2)
    for i in range(1,k+1):
    if i<=(k+1)/2:
    n-=1
    print(' 'n+''*m)
    if i<(k+1)/2:
    m+=2
    else:
    if k%2==0:
    m-=2
    print(' 'n+''*m)
    n+=1
    else:
    n+=1
    m-=2
    print(' 'n+''*m)
    wan(6)

  • Chouchiehlun257248

    star_list2 的第二种处理形式:
    star_list2.append(' ' * ((i + 1) // 2) + '*' * (n - i - 1) + ' ' * ((i + 1) // 2)) if n % 2 else star_list2 = reversed(star_list1)

  • huahua

    😺 楼上的都是高手~是真的高手

  • zhouhuahua

    s = ''
    for i in range(1, 5,2):
    print((s
    i).center(5))
    for i in reversed(range(1, 6, 2)):
    print((s*i).center(6))

  • 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*'*')

  • fengwujiutian

    image.png

  • fengwujiutian

    image.png
    image.png

    1 回复
  • huahua

    wow.你好秀

请输入回帖内容 ...