当单词不存在于一个列表和一个元组列表中时正确获取输出,当单词已经存在于元组列表中时也正确获取输出

2024-09-30 06:34:15 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我正在编写一个关于列表和元组的代码。但是如果列表中缺少单词,我就不知道如何正确地打印代码(它不断打印出列表的整个长度,并用word(不存在)填充

例如,列表中有3个单词和3个描述,当查找不在列表中的单词时,输出变为

“单词不存在”

“单词不存在”

“单词不存在”

它只需要打印一次文本

def upkollning(lista):
   print ', '.join(lista[0])
   ord_val = raw_input("What word do you wanna look up?: ")
   for x in range(0, len(lista[0])):
       if lista[0][x] == ord_val:
           print lista[1][x],"\n"               
       else:
            if ord_val not in lista[0]:
                print "word does not exist"

第二个问题我不知道如何在添加一个已经存在的单词时让“单词已经存在”出现。它只是跳过了整个过程,只是不断地将已经存在的单词放入元组列表中

def tuplist():
tuplist = [("pancakes","something for breakfast")]
return tuplist
def instoppning2tup(tuplelista):
   word = raw_input("Type the word: ")
   #desc = raw_input("Type the description: ")
   if word in tuplelista:
      print "word already exists"

   else:
        desc = raw_input("Give descrption to the word: ")
        tuplelista.append( (word,desc) )

   return tuplelista

第三个问题和第一个问题一样,我得到了“单词不存在”,对于元组列表包含的每个单词

def upkollning2tup(tuplelista):
   for x in range(0, len(tuplelista)):
           print tuplelista[x][0],    
   ord_val = raw_input("\nWhat word do you wanna look up?: ")
   for x in range(0, len(tuplelista)):
       if tuplelista[x][0] == ord_val:
           print tuplelista[x][1],"\n"
       else:
           print "Word doesn't exist"

那么这里有没有人愿意帮忙


Tags: in列表forinputrawifdefval
1条回答
网友
1楼 · 发布于 2024-09-30 06:34:15

首先,您需要一个查找表。所以你应该使用字典而不是元组列表。但要回答你的问题:

1)见问题3的答案

(二) word从不在元组列表中,因为word是一个字符串,从不等价于列表中的元组。而是使用if word in list(zip(*tuplelista))[0]

3)宁可做

def upkollning2tup(tuplelista):
    #for x in range(0, len(tuplelista)):
    #    print tuplelista[x][0],    
    ord_val = raw_input("\nWhat word do you wanna look up?: ")
    if ord_val in list(zip(*tuplelista))[0]:
        print "Word doesn't exist"
    else:
        for elem in tuplelista:
            if elem[0] == ord_val:
                print elem[1]

相关问题 更多 >

    热门问题