저는 파이썬에 익숙하지 않고 random.choice 함수에 인수를 전달하는 데 문제가 있습니다.python 쿼리 - 함수 인수가 잘못된 형식입니까?
기본적으로 나는 임의의 문자 (다른 목록의 모든 이름)를 'a'목록에서 선택하여 시작한 다음, 선택한 문자를 생성하기 위해 random.choice에 다시 입력하는 루프를 작성하려고합니다. 무작위 문자의 연속.
불행히도 random.choice에 대한 두 번째 호출이 작동하지 않고 새로운 목록을 가리키는 대신 입력 된 문자가 계속 반복됩니다. 어떤 생각을 어떻게 해결할 수 있을까요? 몇 시간 동안 온라인에서 봤지만 비슷한 문제/해결책을 찾을 수 없습니다. 어떤 도움을 많이 주시면 감사하겠습니다!
import random
a = ['b','c','d']
b = ['a','e']
c = ['a','d','f']
d = ['a','c','e','f','g','h']
e = ['b','d','h']
f = ['c','d','g','i']
g = ['d','f','i']
h = ['d','e','g','i']
i = ['f','h']
x = 0
answer = random.choice(f)
print "answer is %s " % answer
while x < 5:
answer2 = random.choice(answer)
print "answer2 is now %s " % answer2
x = x + 1
변수와 데이터 사이의 어떤 차이가 참조리스트? 변수 이름은 구문상의 설탕 뒤에 숨겨진 사전의 항목 일뿐입니다. 다운 voting으로 간주되지만, 지나치게 단순화하는 경우에도 귀하의 방법은 여전히 올바른 방법입니다. – agf
두 개의 분리 된 코드를 유지하면 코드를 이해하기 쉽고 의도하지 않은 결과없이 쉽게 변경할 수 있습니다. (모든 프로그래밍은 단지 기계어 일 뿐이므로 구문 적 설탕 뒤에 숨겨져있다. @declanb 코드를 기계어로 직접 작성하지 않아도된다. :-)) – RichieHindle
아니요.하지만 'getattr'을 사용하는 것이 좋은 경우가 있습니다. 사전 키와 객체 속성 이름 사이에는 실제적인 차이가 없다는 생각은 파이썬이 어떻게 작동하는지 이해하는 데 중요합니다. – agf