Python每日一编程小练习(2019.06.14)——判断单词是否可由同一行键盘打印

题目:

给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如自己电脑键盘所示。

示例:

输入:["Hello", "Alaska", "Dad", "Peace"]

输出:["Alaska", "Dad"]

注意:

1、你可以重复使用键盘上同一字符。

2、你可以假设输入的字符串将只包含字母。

本题笔者思路:循环每一个字符串的每一个字符,看是否存在于同一键盘行。

运行代码:

def jianpanhang(a):
    d1 = [['q','w','e','r','t','y','u','i','o','p','Q','W','E','R','T','Y','U','I','O','P'],['a','s','d','f','g','h','j','k','l','A','S','D','F','G','H','J','K','L'],['z','x','c','v','b','n','m','Z','X','C','V','B','N','M']]
    #d1为键盘行,各行用[]区分;    
    d2 = []
    for i in range(0,len(a)):
        b = list(a[i])
        for j in range(0,3):
            d = []
            for k in range(0,len(b)):
                if b[k] not in d1[j]:
                    d.append(0)
                else :
                    d.append(1)
            if sum(d) == len(list(a[i])):    #通过求和判断字符串是否能来源于同一键盘
                d2.append(a[i])
    return(d2)

 

运行结果:

 

注:题目来源于:https://mp.weixin.qq.com/s/RcvJ-Bpvz5njPZ1CLNBcyA

如有侵权,请联系删除。

该来源有附上C、C++、JAVA的实现代码,有需要的朋友可以访问链接了解。

本博文的思路及代码为笔者自己思考并编码实现的结果,如有错误,欢迎指出,也欢迎交流~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值