2012-02-11 5 views
1
import random 
wordlist = {'Candy', 'Monkey'} 
level = 0 
while level == 0: 
    number = random.randint(1, 2) 
    if number == 1: 
     print 'Candy' 
     secword = 'Candy' 
     level = 2 
    elif number == 2: 
     print 'Monkey' 
     secword = 'Monkey' 
     level = 2 

for i in secword: 
    print i 

У меня есть несколько вопросов по поводу кода я просто случайно написал (я новичок)У меня есть две очень простые вопросы начинающих для Python

1) Как назначить слово в списке к переменной? ex. назначьте слово «Candy» в переменную, потому что я всегда получаю ошибку (список не вызываем)

2) Как назначить переменную i (в цикле for) отдельной переменной для каждой буквы?

Спасибо! Скажи мне, если это недостаточно.

+3

http://docs.python.org/tutorial/introduction.html – reclosedev

+1

Также обратите внимание на 'random.choice()'. Вся эта вещь может быть уменьшена примерно до 4 или более пяти питонических линий. – geoffspear

+0

возможно одна строка (не относящаяся к оператору импорта): 'for c in list (random.choice ([" Candy "," Monkey "])): print c' :) – moooeeeep

ответ

4

Следует отметить, что wordlist на самом деле не список, а набор. Разница в том, что набор не позволяет дублировать значения, тогда как список делает. Список создается с использованием скобок: [], а набор создается с использованием фигурных скобок: {}.

Это важно, потому что вы не можете индексировать набор. Другими словами, вы не можете получить элемент, используя wordlist[0]. Это даст вам ошибку «set not support indexing». Поэтому, прежде чем пытаться получить элемент из wordlist, убедитесь, что вы на самом деле объявить его в виде списка:

wordlist = ['Candy', 'Monkey'] 

Я не уверен, что вы спрашиваете в вашем втором вопросе. Можете ли вы уточнить?

+0

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

0

Вы получаете List is not callable, потому что вы, вероятно, используете небольшие скобки (). Если вы используете небольшие скобки и делаете список слов (0), вы действительно делаете интерпретатор таким, как wordlist - это метод, а 0 - это аргумент.

s = worldlist[0] # to assign "Candy" to s. 
Смежные вопросы