Сравнение необработанного ввода с конкретным элементом в массиве с использованием Python - PullRequest
0 голосов
/ 09 ноября 2019

У меня есть небольшой фрагмент кода на Python, где я пытаюсь сравнить пользовательский ввод с конкретным элементом в массиве. Вот код:

movies = ["movie 1", "movie2", "movie3"];

answer = raw_input("What is your guess: ")

    if answer == movies[1]
       then print ("yes that is correct")
       else:
         print ("no that is incorrect")

Я знаю, что отступ выше выглядит неправильно, потому что я набрал его в текстовом поле, и я новичок в этом сайте, а также в Python. Я также знаю, что мне, вероятно, нужно использовать какой-то условный цикл, возможно, цикл while, но у меня возникают проблемы с поиском, где я могу сравнить строковое значение пользовательского ввода со строковым значением в моем массиве. Есть идеи, как мне это сделать?

1 Ответ

0 голосов
/ 09 ноября 2019

Удачи с Python! Я предполагаю, что вы пытаетесь создать цикл, который продолжает получать входные данные от пользователя для сравнения с желаемыми входными данными, пока пользователь не введет правильный ввод. Если это так, то одним способом это можно реализовать следующим образом (но подумайте о добавлении условия прерывания, такого как input == «Скучно», чтобы избежать бесконечного цикла и жесткой остановки вашего кода):

movies = ["movie 1", "movie2", "movie3"]
correctAnswer = movies[1]
is_notCorrect = True
while(is_notCorrect):
    answer = raw_input("What is your guess: ")
    if answer == correctAnswer:
       print("Yes, that is correct")
       is_notCorrect = False
    else:
       print("No, that is incorrect")

Inкод выше, когда is_notCorrect превращается в False. При следующей проверке состояния оно нарушит условие и будет выполнено с циклом.

У вашего кода есть некоторые проблемы

movies = ["movie 1", "movie2", "movie3"]; # No need the semi-colon in Python

answer = raw_input("What is your guess: ") 
# Need a colon here after if condition, new line, and indent. 
#If you don't like the colon, you need to write a different way with one line of code Eg: <Do A> if <Condition happens> else <Do B> 
if answer == movies[1]     
   then print ("yes that is correct") # No then in if-else statement in Python 
   else:
     print ("no that is incorrect")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...