Python & API пользовательский ввод - PullRequest
0 голосов
/ 30 апреля 2020

Мой код

import requests
from pprint import pprint

from pip._vendor.distlib.compat import raw_input

recipe_ingredients = input("What is the recipe ingredients? ")
number_recipes = input("How many recipes do you want? ")
url = 'https://api.spoonacular.com/recipes/findByIngredients?ingredients={}&number={}&'.format(recipe_ingredients,number_recipes)

response = requests.get(url)
print(response)

Однако, когда я вводю более одного ингредиента в формате (двух ингредиентов) сыра и картофеля, он возвращает результаты либо для первого переменная или говорит мне, что есть синтаксическая ошибка с и .

Есть ли какой-нибудь способ, которым я могу запрограммировать свою функцию поиска, чтобы она принимала и , посредством чего она может отображать все результаты для обоих слов, так как, скорее всего, пользователь поставит 'и' в их поиске более одного ингредиента.

(кстати, я использую pycharm)

1 Ответ

0 голосов
/ 30 апреля 2020

Вы запрашиваете только одну строку у пользователя. Всякий раз, когда вы пытаетесь ввести 2 строки, разделенные Enter, вторая строка не может быть сохранена и, следовательно, исключение.

Вы можете исправить это следующим образом:

n = int(input("Number of ingredients: "))
recipe_ingredients = []

print("Enter " + str(n) + " recipe ingredients")

for i in range(n):
    recipe_ingredients.append(input())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...