|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
编程第二题:
给定一个字符串数组 words,只返回可以使用在美式键盘同一行的字母打印出来的单词,
美式键盘中:
第一行由字符 "qwertyuiop" 组成
第二行由字符 "asdfghjkl" 组成
第三行由字符 "zxcvbnm" 组成
输入:words = ["Twitter", "TOTO", "FishC", "Python", "ASL"])
输出:['Twitter', 'TOTO', 'ASL']
我的编码,感觉没有问题但是运行不出来。
words = ["Twitter", "TOTO", "FishC", "Python", "ASL"]
str1 = "qwertyuiop"
str2 = "asdfghjkl"
str3 = "zxcvbnm"
list2 = []
count = count2 = count3 = 0
for i in range(len(words)):
list1 = []
for z in range(len(words[i])):
list1.append(words[i][z])
list11 = "".join(list1)
list11 = list11.lower()
for j in range(len(list11)):
if list11[j] in str1:
count = count + 1
else:
count = count - 1
if list11[j] in str2:
count2 = count2 + 1
else:
count2 = count2 - 1
if list11[j] in str3:
count3 = count3 + 1
else:
count3 = count3 - 1
if count3 == len(list11) or count == len(list11) or count2 == len(list11):
list2.append(words[i])
print(list2)
希望得到大神的帮助 谢谢啦
本帖最后由 jackz007 于 2024-1-11 23:49 编辑
- d = []
- for e in ["qwertyuiop" , "asdfghjkl" , "zxcvbnm"] :
- for w in ["Twitter" , "TOTO" , "FishC" , "Python" , "ASL"] :
- for x in w:
- if not x . lower() in e :
- break
- else :
- d . append(w)
- for x in d :
- print(x)
复制代码
|
|