|  | 
 
| 
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 。
 | 
 |