#python
#python
Вопрос:
Итак, я создаю эту программу, которая включает в себя код, запрашивающий у пользователя товары, которые он хотел бы приобрести, и эти товары затем добавляются в список. Мой вопрос заключается в следующем: поскольку элементы добавляются в список, и каждый элемент имеет денежную стоимость, как мне проверить, есть ли определенный / группа элементов в прилагаемом списке, и, таким образом, рассчитать общую стоимость?
например, пользовательские вводимые Chicken
и Pork
, и эти элементы добавляются в userOrder
список.
Как бы я проверил, содержит ли userOrder
список эти несколько элементов, а не другие элементы, и как бы я тогда со следующими элементами в списке мог рассчитать общую стоимость?
Я пытался использовать if x in list
, но я не знаю, как реализовать это таким образом, чтобы проверялось несколько элементов, буду ли я использовать and
или or
?
def userChoose(decide):
if decide == "Yes":
pizzaPurch=input("Please enter the Pizza(s) you would like to
purchase")
userOrder.append(pizzaPurch)
print("You purchased the following:")
print(userOrder)
if decide == "No":
pizzaPurch=input("Please enter the pizza(s) you would like to
purchase")
userOrder.append(pizzaPurch)
print("You purchased the following:")
print(userOrder)
return pizzaPurch, userOrder
banner()
decide = pizzaReg()
pizzaPrem(decide)
userChoose(decide)
if 'Pepperoni' in userOrder:
print("You included Pepperoni Pizza in your purchase list")
Я хотел бы сделать так, чтобы после ввода пользователем элементов, которые он хотел бы приобрести, и, таким образом, добавлялся в список, код проверял, какие элементы включены, а какие нет, и оттуда вычислял общую стоимость. Код неполный, поскольку я в растерянности и, следовательно, не могу предоставить фактические результаты.
Комментарии:
1. Вы задаете довольно много вопросов. Вероятно, вам следует их разбить.
2. Одна проблема, которую я вижу, заключается в том, что
if decide == "Yes"
userChoose()
функция вернетNone
.
Ответ №1:
Я не уверен на 100%, чего именно вы хотите, но если вы хотите просто сравнить два списка, то вы можете сделать это следующим образом:
userOrder = ['chicken', 'carrot', 'pork', 'onion']
pattern = ['pork','chicken']
matched = [item for item in pattern if item in userOrder]
matched
Output:
['pork', 'chicken']