Инструкция If-Else не запрашивает ввод в Python - PullRequest
0 голосов
/ 05 ноября 2019

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

В то время как мой оператор if / else принимает ввод, когда его просят, он затем не запускается, заявляя, что rawinput не определен. Параметр rawinput входит в оператор if, в который я включил свой код ниже

. Следует отметить, что я довольно новичок в Python.

Я попытался удалить параметр rawinput из if / else идержите его отдельно, но возникает та же проблема.

userinp = input("Select search type.  1 = tweets.  2 = people")

if userinp == 1:
        entry = rawinput
        query = u'q='
elif userinp == 2:
        entry = rawinput
        query = u'f=users&vertical=default&q='

searchurl = baseurl + query + entry

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

Результаты следующие:

Select search type.  1 = tweets.  2 = people1
Traceback (most recent call last):
  File "Scrape.py", line 22, in <module>
    userentry = rawinput('enter search term')
NameError: name 'rawinput' is not defined

Заранее благодарим за любую помощь.

Ответы [ 2 ]

3 голосов
/ 05 ноября 2019

Используйте input() и не забывайте скобки!

Кроме того, input() преобразует ваш ввод в строку, поэтому ваше условие if никогда не будет выполнено, если оно использует целые числа. Попробуйте заменить на if userinp == '1': и elif userinp == '2':.

1 голос
/ 05 ноября 2019

Должно быть raw_input(), а не rawinput. поэтому ваш код должен быть таким ...

userinp = input("Select search type.  1 = tweets.  2 = people")

if userinp == 1:
        entry = raw_input()
        query = u'q='
elif userinp == 2:
        entry = raw_input()
        query = u'f=users&vertical=default&q='

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