首页 > 解决方案 > 尝试将列表中的双字名称与用户输入匹配时如何处理它们?

问题描述

在我的项目上需要一点帮助。使用提供的列表,我需要用户输入一个包含至少一种水果名称的句子,然后我需要将输入的水果匹配到列表中并将其读回给用户。输出现在无关紧要。我可以让它匹配输入的尽可能多的水果,除非水果名称包含 2 个单词,例如“Passion Fruit”或“Mandarin Oranges”。[请记住,我是刚开始学习的第一学期学生,因此请保持超级基础。] 任何帮助将不胜感激。干杯! 请在下面查看我的工作。

fruits = [
'Apricots',
'Asian Pears',
'Avocados',
'Bananas',
'Blackberries',
'Blueberries',
'Boysenberries',
'Cactus Pear',
'Cantaloupe',
'Cherries',
'Coconut',
'Cranberries',
'Figs',
'Gooseberries',
'Grapefruit',
'Grapes',
'Honeydew Melon',
'Kiwifruit',
'Limes',
'Longan',
'Loquat',
'Lychee',
'Madarins',
'Malanga',
'Mandarin Oranges',
'Mangos',
'Mulberries',
'Nectarines',
'Oranges','Papayas',
'Passion Fruit',
'Peaches',
'Pears',
'Persimmons',
'Pineapple',
'Plums',
'Pomegranate',
'Prunes',
'Quince',
'Raisins',
'Raspberries',
'Rhubarb',
'Strawberries',
'Tangelo',
'Tangerines',
'Tomato',
'Ugli Fruit',
'Watermelon'
]

x=[]


input_sentence=input("Please type a sentence containing at least 1 fruit name :").title().split()
for fruit in fruits:
    new_fruit=fruit.replace(" ","_")
    x.append(new_fruit)

y=input_sentence
    
glue="_"
z=glue.join(y)

    
def intersect (x,y):
    return list(set(x) & set(z))
print (intersect(x,z))

标签: pythonpython-3.x

解决方案


fruits = [
'Apricots',
'Asian Pears',
'Avocados',
'Bananas',
'Blackberries',
'Blueberries',
'Boysenberries',
'Cactus Pear',
'Cantaloupe',
'Cherries',
'Coconut',
'Cranberries',
'Figs',
'Gooseberries',
'Grapefruit',
'Grapes',
'Honeydew Melon',
'Kiwifruit',
'Limes',
'Longan',
'Loquat',
'Lychee',
'Madarins',
'Malanga',
'Mandarin Oranges',
'Mangos',
'Mulberries',
'Nectarines',
'Oranges','Papayas',
'Passion Fruit',
'Peaches',
'Pears',
'Persimmons',
'Pineapple',
'Plums',
'Pomegranate',
'Prunes',
'Quince',
'Raisins',
'Raspberries',
'Rhubarb',
'Strawberries',
'Tangelo',
'Tangerines',
'Tomato',
'Ugli Fruit',
'Watermelon'
]

input = "I like to eat Asian Pears"  # user Input sentence

for fruit in fruits:  # iterate over fruits
    if str.__contains__(input, fruit):   # use string method contains to check if fruit is in user input
        print(fruit)   # if find print

遍历水果列表以检查水果是否在用户输入中 句子将完成这项工作。


推荐阅读