# imports random
import itertools, random
# make a deck of tiles
deck = list(itertools.product(range(1, 5), range(1,10), range(0,3)))
deckWinds=(list(itertools.product(range(1, 5), range(10,14), range(3,4))))
deckDragons=(list(itertools.product(range(1, 5), range(14,17), range(4,5))))
deck=deck+deckWinds+deckDragons
# shuffles the deck
random.shuffle(deck)
#have a dictionary of suit names and number names
numbers={10: "E", 11: "S", 12: "W", 13: "N", 14: "White", 15: "Green", 16: "Red"}
suits={0: "Wan", 1: "So", 2: "Pin", 3: "Wind", 4: "Dragon"}
#which card is to be drawn
cardNumber=1
# deal myHand
myHand=[]
for i in range(14):
drawn=deck[cardNumber]
cardNumber=cardNumber+1
myHand.append(drawn)
myHand.sort(key=lambda t: (t[2], t[1]))
print(myHand)
visibleHand=[]
# make readable UI version
for i in range(len(myHand)):
tile, number, suit = myHand[i] # unpack the tuple to have cleaner code
visibleHand.append(f"{numbers.get(number, number)} {suits.get(suit, suit)}")
print(visibleHand)
В Online Python это работает нормально, но в Trinket выдает серию сообщений об ошибках, начиная с SyntaxError: неправильный ввод в строке 33 в файле main.py, и когда Я добавляю в эту строку комментарий, чтобы увидеть, есть ли какие-либо другие проблемы, он читает AttributeError: Объект '' не имеет атрибута 'product' в строке 5 в main.py. Есть ли между ними какие-либо различия, которые могут вызвать это?
У меня есть компьютерная программа, которая должна вытягивать из колоды кости маджонга: [code]# imports random import itertools, random
# make a deck of tiles deck = list(itertools.product(range(1, 5), range(1,10), range(0,3))) deckWinds=(list(itertools.product(range(1, 5), range(10,14), range(3,4)))) deckDragons=(list(itertools.product(range(1, 5), range(14,17), range(4,5)))) deck=deck+deckWinds+deckDragons
# shuffles the deck random.shuffle(deck)
#have a dictionary of suit names and number names numbers={10: "E", 11: "S", 12: "W", 13: "N", 14: "White", 15: "Green", 16: "Red"} suits={0: "Wan", 1: "So", 2: "Pin", 3: "Wind", 4: "Dragon"}
#which card is to be drawn cardNumber=1
# deal myHand myHand=[] for i in range(14): drawn=deck[cardNumber] cardNumber=cardNumber+1 myHand.append(drawn) myHand.sort(key=lambda t: (t[2], t[1])) print(myHand) visibleHand=[]
# make readable UI version for i in range(len(myHand)): tile, number, suit = myHand[i] # unpack the tuple to have cleaner code visibleHand.append(f"{numbers.get(number, number)} {suits.get(suit, suit)}") print(visibleHand) [/code] В Online Python это работает нормально, но в Trinket выдает серию сообщений об ошибках, начиная с SyntaxError: неправильный ввод в строке 33 в файле main.py, и когда Я добавляю в эту строку комментарий, чтобы увидеть, есть ли какие-либо другие проблемы, он читает AttributeError: Объект '' не имеет атрибута 'product' в строке 5 в main.py. Есть ли между ними какие-либо различия, которые могут вызвать это?