2015-06-04 3 views
-1

У меня есть программа Tkinter, которая выбирает случайную игру для меня. Я создал список и нуждаюсь в моей программе, чтобы посмотреть, какая игра выбрана, чтобы она могла запускать игру из своего местоположения. У меня нет работы. Можете ли вы сказать мне, как найти, какая игра была выбрана?Поиск того, какой элемент из списка был выбран случайным образом.

def genRanGame(self): 
    game = ['BF4', 'CSGO', 'GTA', 'FC3', 'DB'] 
    self.game.set(random.choice(game)) 
    if game == "BF4": 
     print ("This is working") 
    if game == 'CSGO': 
     print ("This is really working") 
+0

Вы имели в виду 'if self.game ==" BF4 "'? 'game' по-прежнему остается в списке. Не могли бы вы показать [минимальный пример] (http://stackoverflow.com/help/mcve), который * действительно воссоздает проблему *? * «не работает» * не является ужасно полезным описанием проблемы ... – jonrsharpe

ответ

1

Хранить random.choice() результат в переменной первой:

games = ['BF4', 'CSGO', 'GTA', 'FC3', 'DB'] 
game_picked = random.choice(games) 
self.game.set(game_picked) 
if game_picked == "BF4": 
    # ... 

или извлечь его из объекта вы установили его; предположительно self.game - объект Tkinter StringVar() или аналогичный; он имеет метод .get(), а также метод .set(), вы можете использовать, чтобы зачитать случайный выбор вы установили, а также:

games = ['BF4', 'CSGO', 'GTA', 'FC3', 'DB'] 
self.game.set(random.choice(games)) 
if self.game.get() == "BF4": 
    # ... 

Объект списка (я назвал его games, чтобы лучше отразить содержание) Безразлично» t при использовании random.choice(), поэтому games == 'BF4' никогда не будет правдой; он по-прежнему настроен на весь этот список, а не только на один выбор из списка.

Смежные вопросы