문제

그래서, 나의 개인적인 도전은 파이썬에서 간단한 블랙 잭 게임을 만드는 것입니다.이것은 내가 그 일을하는 방식이다 :

singlePlayerCard = random.choice(availableCards)
singlePlayerCard2 = random.choice(availableCards)

if(singlePlayerCard == [1,2,3,4,5,6,7,8,9,10]):
    singlePlayerCardValue = singlePlayerCard

if(singlePlayerCard2 == [1,2,3,4,5,6,7,8,9,10]):
    singlePlayerCard2Value = singlePlayerCard2


singlePlayerCardValueTotal = singlePlayerCardValue+singlePlayerCard2Value
print ("The total of your card values is %i"%singlePlayerCardValueTotal)
.

singlePlayerCardValueTotal를 인쇄 할 때 singlePlayerCardValue 또는 singlePlayerCard2Value가 할당하기 전에 참조 된 것으로 알려줍니다.과거 에이 문제가 있었던 것처럼 약간 혼란 스럽습니다. 그러나 구조는 여기에서 다른 하나의 간단한 프로그램으로 이슈가 다릅니다.앞서 언급 한 이슈 외에도 잘 작동했습니다.또한 시간이 있으시면 필요한 경우 일부 지역에 더 나은 해결책을 알려주십시오.

항상 그렇습니다. 미리 감사드립니다!:)

도움이 되었습니까?

해결책

귀하의 의견에 명시된대로 "할당 전에 참조"는 값이 주어지기 전에 변수를 언급했음을 의미합니다.

문제는 다음과 같습니다 :

if(singlePlayerCard == [1,2,3,4,5,6,7,8,9,10]):
    singlePlayerCardValue = singlePlayerCard
.

singlePlayerCard가 에 동등하지 않으므로 숫자 카드가있을 때 변수에 값을 할당하지 않습니다.

[1,2,3,4,5,6,7,8,9,10] 연산자는 목록에 값이 포함되어 있는지 확인하는 방법이 아닙니다.대신 이것을 시도하십시오 :

if(singlePlayerCard in [1,2,3,4,5,6,7,8,9,10]):
    singlePlayerCardValue = singlePlayerCard
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top