|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- """只返回键盘同一行的字母打印的单词"""
- x = input("输入:")
- y = []
- row1 = "QWERTYUIOPqwertyuiop"
- row2 = "ASDFGHJKLasdfghjkl"
- row3 = "ZXCVBNMzxcvbnm"
- for i in x:
- if row1.count(i[0]) == 1:
- for j in i:
- if row1.count(i[j]) == 1:
- y.append(x[i])
- elif row2.count(i[0]) == 1:
- for j in i:
- if row2.count(i[j]) == 1:
- y.append(x[i])
- elif row3.count(i[0]) == 1:
- for j in i:
- if row3.count(i[j]) == 1:
- y.append(x[i])
- print("输出:", y)
复制代码 不知道怎么使输入的变为一个字符串,列表和字符串的一些用法有点混淆,求大佬指点迷津
你的代码中有一些错误,我将帮你修正它们。首先,你需要将输入的字符串分割成单词,然后检查每个单词的每个字母是否都在同一行。这是修正后的代码:
- x = input("输入:").split()
- y = []
- row1 = "QWERTYUIOPqwertyuiop"
- row2 = "ASDFGHJKLasdfghjkl"
- row3 = "ZXCVBNMzxcvbnm"
- for word in x:
- if all(letter in row1 for letter in word):
- y.append(word)
- elif all(letter in row2 for letter in word):
- y.append(word)
- elif all(letter in row3 for letter in word):
- y.append(word)
- print("输出:", y)
复制代码
这段代码首先将输入的字符串通过 split() 方法分割成单词列表。然后,对于列表中的每个单词,我们使用 all() 函数和生成器表达式来检查单词中的每个字母是否都在同一行。如果是,我们就将这个单词添加到输出列表 y 中。
注意, all() 函数会返回 True 如果所有的元素都为 True ,否则返回 False 。在这个例子中,如果单词中的所有字母都在同一行, all() 函数就会返回 True 。
|
|