测开笔试题

Posted xiaomeier

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测开笔试题相关的知识,希望对你有一定的参考价值。

这次去大华面试测试开发岗,第一题笔试题一上来有点懵,后面想了一下有些思路,时间紧迫就没写出来,一回到家又写出来了。所以这次记录一下分享给需要的朋友。

题目:

技术图片

 

代码:

def get_time(s=‘‘):
    btn_str = azc dwf gti jql mon pkr shu vex yb
    btn_list = btn_str.split()
    position_0 = 0
    sum_time = 0
    for i in s:
        for m in range(9):
            if i in btn_list[m]:
                position_1 = m + 1  # 获取字母所在按键
                if position_0 == position_1:  # 如果在同一个按键上,时间+2
                    sum_time += 2
                position_0 = position_1
                for n in range(len(btn_list[m])):
                    if btn_list[m][n] == i:
                        position_i = n  # 获取字母按键上位置
                        if position_i == 0:
                            sum_time += 1
                        elif position_i == 1:
                            sum_time += 2
                        elif position_i == 2:
                            sum_time += 3
    print({}总时间为:{}.format(s, sum_time))


get_time(ac)
get_time(zc)
get_time(zw)

运行结果:

ac总时间为:6
zc总时间为:7
zw总时间为:4

 

解题思路:

1、首先把26个字母分组分好,即每个按键对应什么字母,此处可以用split函数切割成列表形式

2、然后将传入的字符一个一个字母进行遍历,第一步先获取到字母所在的按键position_1

3、获取到字母按键后,需要先判断是否和上一个字母在同一个按键上,如果在同一个按键则加等待时间(第一个字母的上一个按键位置position_0给了初始值0,因此不需要加等待时间)。

4、处理完毕将当前字母位置赋值给position_0,用于下一个字母对比。

5、按键位置处理完毕,获取字母在按键上的位置,根据题意依次加时间

 

以上是关于测开笔试题的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript笔试题(js高级代码片段)

开笔了,就写一下,hasattr,getattr,setattr。

记21年某次360众测考核试题记录

C语言必会面试题(3耶稣有13个门徒,当中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个開始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,...)(代码片段

初级功能笔试题-1

奖品分配-头条2019笔试题