码迷,mamicode.com
首页 > 其他好文 > 详细

测开笔试题

时间:2020-06-20 18:43:23      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:题目   position   range   mon   列表   orm   ima   div   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、按键位置处理完毕,获取字母在按键上的位置,根据题意依次加时间

 

测开笔试题

标签:题目   position   range   mon   列表   orm   ima   div   com   

原文地址:https://www.cnblogs.com/xiaomeier/p/13169838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!