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 

두 가지 매우 간단한 초보자 질문 (난 초보자) 나는 목록에서 단어를 지정하려면 어떻게내가 그냥 무작위로 작성한 코드에 대한 몇 가지 질문이 파이썬

1) 변수에? 예. 내가 항상 오류가 발생하기 때문에 변수에 단어 'Candy'를 할당하십시오. (목록은 호출 가능하지 않습니다.)

2) for 문에 변수 i를 각 문자에 대해 별도의 변수에 어떻게 할당합니까?

감사합니다. 그것이 구체적이지 않은지 말해봐.

+3

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

+1

또한 'random.choice()'를 살펴보십시오. 이 모든 것은 약 4 ~ 5 개 이상의 Pythonic 줄로 줄일 수 있습니다. – geoffspear

+0

한 줄 (가져 오기 문과 관련 없음) : '목록에있는 C (random.choice ([ "Candy", "Monkey"))) : print c' : – moooeeeep

답변

4

. 차이점은 집합은 중복 값을 허용하지 않지만 목록은 중복 값을 허용하지 않는다는 점입니다. 목록은 괄호 ([])를 사용하여 만들고 집합은 중괄호 ({})를 사용하여 만듭니다.

집합 색인을 생성 할 수 없기 때문에 이것은 중요합니다. 즉, wordlist[0]을 사용하여 요소를 가져올 수 없습니다. '색인 생성을 지원하지 않습니다.'오류가 발생합니다. 당신이 wordlist에서 요소를 취득하기 전에 그래서, 당신이 실제로리스트로 선언해야합니다 :

wordlist = ['Candy', 'Monkey'] 

나는 당신이 두 번째 질문에 요구하는지 모르겠어요. 당신은 정교 할 수 있습니까?

+0

제 질문에 대답 해 주셔서 감사 드리며, 두 번째 부분을 직접하는 방법을 찾아 냈습니다. 나는 목록과 세트의 차이를 제대로 배웠어야했다. –

0

아마도 작은 대괄호 ()을 사용하고 있으므로 List is not callable이 표시됩니다. 큰 괄호를 사용하고 단어 목록 (0)을 사용하면 실제로는 통역사가 wordlist이 메서드이고 0이 인수라는 느낌을 갖습니다.

s = worldlist[0] # to assign "Candy" to s. 
wordlist 실제로 목록이 아니라 일련의 지적해야한다
관련 문제