Я пытаюсь создать приложение фильтра Twitter, которое будет искать вашу личную тайну людей, за которыми вы будете следовать/RT от людей, которых вы придерживаетесь по ключевым словам по вашему выбору. (Это не вопрос, это фон ... Я еще не до этого, я просто играю с API на данный момент!)Неправильно вырваться из цикла python while?
Я только начинаю изучать Python, m ранее Java-программист, и мне интересно, как проверить ввод пользователя для правильного ... ну, вход!
У меня есть пронумерованное меню (в настоящее время только с двумя элементами), и я хочу, чтобы пользователь набирал 1 или 2, а если нет, то он должен выдать сообщение об ошибке и вернуться к вводу. В настоящее время я получаю сообщение об ошибке:
Traceback (most recent call last):
File "Filtwer.py", line 31, in <module>
if "1" in menuselect:
TypeError: argument of type 'int' is not iterable
Если строка 31 является началом инструкции if в приведенном ниже кодовом блоке. Я не уверен, что я что-то упустил? Например, не вырваться из цикла while? Любая помощь приветствуется!
Спасибо :)
import twitter
api = twitter.Api(consumer_key='<redacted>',
consumer_secret='<redacted>',
access_token_key='<redacted>',
access_token_secret='<redacted>')
while True:
menuselect = input("1. Tweet\n2. Get Tweets\n...: ")
if menuselect == 1 or 2: break
print "Please enter a valid entry!"
if "1" in menuselect:
statusinput = raw_input("Tweet: ")
status = api.PostUpdate(statusinput)
print "Sucessfully tweeted!"
else:
timeline5 = api.GetUserTimeline(user_id=<my_twitter_ID>, screen_name='<my_twitter_screenname>', count=5, include_rts='true')
print [s.text for s in timeline5]
Edit:
Понял работать, как это (включены комментарии, чтобы показать, как мой ответ отличался от ответа, я выбрал правильный Спасибо за помощь, ребята. ! :))
while True:
#try:
menuselect = raw_input("1. Tweet\n2. Get Tweets\n...: ")
if menuselect == "1" or menuselect == "2": break
#catch ValueError:
# pass
#finally:
print "Please enter a valid entry!"
if "1" == menuselect:
[...]
'если menuselect == 1 или 2: break' должен быть' если menuselect в (1, 2): break' , – hughdbrown