from random import random
def fresh_deck():
suits = {"Spade", "Heart", "Diamond", "Club"}
ranks = {"A", 2, 3, 4, 5, 6, 7, 8, 9, 10, "J", "Q", "K"}
deck = []
for s in suits:
for r in ranks:
card = (s, r)
deck.append(card)
random.shuffle(deck) // <-- error
return deck
에러코드
카드 덱을 만들고 카드를 섞어주는 함수를 작성하다가 셔플 함수에서 다음과 같은 에러가 발생하였다.
AttributeError: 'builtin_function_or_method' object has no attribute 'shuffle'
에러 문
해결방법
이유는 단순했다. 'shuffle' 함수가 있는 'random' 모듈을 from import로 불러왔기 때문이었다.
해당 코드가 정상적으로 작동되기 위해서는
from random import random 이 아닌
import random 만 사용하거나
import random // <-- 변경
def fresh_deck():
suits = {"Spade", "Heart", "Diamond", "Club"}
ranks = {"A", 2, 3, 4, 5, 6, 7, 8, 9, 10, "J", "Q", "K"}
deck = []
for s in suits:
for r in ranks:
card = (s, r)
deck.append(card)
random.shuffle(deck)
return deck
from random import shuffle으로 사용해야 했다.
from random import shuffle // <-- 변경
def fresh_deck():
suits = {"Spade", "Heart", "Diamond", "Club"}
ranks = {"A", 2, 3, 4, 5, 6, 7, 8, 9, 10, "J", "Q", "K"}
deck = []
for s in suits:
for r in ranks:
card = (s, r)
deck.append(card)
shuffle(deck) // <-- 변경
return deck
이걸로 30분을 날렸다니 정말 바보 같은 실수였다....
'에러 모음 및 해결' 카테고리의 다른 글
Xcode에서 warning 표시 끄는법 (0) | 2022.10.14 |
---|---|
[ERROR | Java] Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 at 오류 (0) | 2022.09.08 |
댓글