#list #python-2.7
#Список #python-2.7
Вопрос:
Начинающий программист на первом курсе.. и кодирование (не очень) простой игры Simon Says.
Это то, что у меня есть на данный момент
import random
#the items (colors) that Simon can choose from
colors = ['Red', 'Blue', 'Yellow', 'Green']
#A list for what Simon's pattern can be in
simon = []
#A list for what the User's pattern can be in
user = []
def SimonSays():
#Choose a random item in the list of colors
simon.append(random.choice(colors))
#for each item in the list, or each color in the list 'simon', print that list
#this is just for testing to see what the color is
for color in simon:
print simon
userResponse = raw_input("What did Simon Say?")
#if the user responded with the correct color
if userResponse == color:
#IDLE will print.. then add another color to the list, and prompt the user again
print "Correct, a new item will be added to the sequence"
twoColors = simon.append(random.choice(colors))
print simon
user2Response = raw_input("What did Simon Say?")
if user2Response == simon:
print "Correct"
else:
print "Incorrect"
#if the user didn't respond with the correct color..
else:
print "Incorrect, sorry you lost."
SimonSays()
теперь моя проблема в том, что я могу ответить «Синий», например, при первом запросе, но как только в списке два цвета, IDLE всегда сообщает мне неверно. Я не знаю, как отформатировать ответ или любым другим способом сделать это.
Ответ №1:
Вот подсказка, попробуйте использовать ‘ ‘.join(s для s в simon) для печати и сравнения. Прямо сейчас вы сравниваете со списком print, который каждый раз будет неверным.
надеюсь, это поможет