Как вызвать функцию с оператором if, который проходит по списку?питон - PullRequest
0 голосов
/ 19 июня 2019

новичок в программировании здесь, и у него много проблем с домашней работой. Пожалуйста, извините за отсутствие понимания и знаний. Любая помощь будет принята с благодарностью! Спасибо!! Я пытаюсь вывести оператор if, когда один из вызываемых мной элементов отсутствует в списке, и функция должна распечатать этот элемент.

def sushi(order):
    toppings = ['salmon', 'tuna', 'whitefish']
    for item in toppings:
        if 'salmon' or 'tuna' or 'whitefish' in toppings:
            print('all set')
            break
        if not item in toppings:
            print('Add to this', toppings.append(order))
            print('all set')

sushi(['salmon', 'tuna'])
sushi(['salmon', 'tuna', 'tempura'])

Я хочу вывести:

all set
Add to this tempura
all set

Ответы [ 2 ]

1 голос
/ 19 июня 2019

Я считаю, что вы ищете:

def sushi(order):
    toppings = ['salmon', 'tuna', 'whitefish']
    for item in order:
        if item not in toppings:
            print('Add to this', item)
    print("All set!")

>>> sushi(['salmon', 'tuna'])
All set!
>>> sushi(['salmon', 'tuna', 'tempura'])
Add to this tempura
All set!

Цикл можно сократить, изменив его на:

for item in [x for x in order if x not in toppings]:
    print('Add to this', item)

Ваши проблемы были:

1) for item in toppings:

Я думаю, вы хотели здесь order вместо toppings

2) if 'salmon' or 'tuna' or 'whitefish' in toppings:

здесь вы, вероятно, хотели, чтобы это было: if 'salmon' in toppings or 'tuna' in toppings or 'whitefish' in toppings:.То, что вы написали: «если существует строка« лосось »или существует строка« тунец »или строка« сиг »находится в начинки».

3) print('Add to this', toppings.append(order))

метод append ничего не возвращает.может быть, вы хотели добавить одну строку с надписью toppings.append(item), а затем просто напечатать item

0 голосов
/ 19 июня 2019

Я думаю, что это то, что вы хотите

def sushi(order):
    toppings = ['salmon', 'tuna', 'whitefish']
    for item in order:
        if item in toppings:
            pass
        else:
            print('Add to this', item)
            toppings.append(item)
    print('all set')
>>> sushi(['salmon', 'tuna'])
all set

>>> sushi(['salmon', 'tuna', 'tempura'])
Add to this tempura
all set


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...