Python:为什么在程序输出之前收到一条重新启动消息?

2024-09-29 02:21:44 发布

您现在位置:Python中文网/ 问答频道 /正文

使用IDLE,我正在编写python3.5代码,这些代码将在所有组件到达时用于我的raspberrypi3。当我执行一个特定的程序时,消息: 重新启动:C:\Personal\Raspberry Pi\Programs\Poker with Shuffle,甲板标识.py 显示在任何程序输出之前。路径是存储代码的位置。程序如下:

    def Poker():
#    DEBUG = input('First line of def Poker()')
    global deck
    global cards
    global deckIdentity
#    print('Enter a "p" to play; enter a "r" for the rules.')
#    answer = input()
#    if answer == 'r' or answer == 'R':
#        displayRules
#    else:
    Shuffle()
    DeckIdentities()

def displayRules():
    print('Rules')

def Shuffle():
    global deck
    global cards
    import random
    # Initialize card deck to all zeros
    deck = [0]
    for i in range(1,53):
        deck = deck + [0]
    # Initialize cards randomly identified to all zeros
    cards = [-1]
    for i in range(1,53):
        cards = cards + [0]
    # Assign cards in deck to randomly identified, unique cards
    deckIndex = 0
    while deckIndex < 52:
        identifiedCard = random.randint(0,51)
        actualCardValue = identifiedCard + 1
        if cards[identifiedCard] == 0 or cards[identifiedCard] < 0: # account for first -1 entry
            cards[identifiedCard] = actualCardValue
            deck[deckIndex] = actualCardValue
#            print('deckIndex =',deckIndex,'  actualCardValue = ',actualCardValue)
            deckIndex = deckIndex + 1

def DeckIdentities():
    global deck
    global cards
    global deckIdentity
    cardValues = ['K', 'A', '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q']
    cardSuits = ['S', 'H', 'D', 'C']
    for i in range(0,52):
        cardIdentity = ''
        cardNumber = deck[i]
        valueNumber = cardNumber % 13
        cardIdentity = cardIdentity + cardValues[valueNumber]
        suitNumber = (cardNumber - 1) // 13
        cardIdentity = cardIdentity + cardSuits[suitNumber]
        print('cardNumber =',cardNumber,'  valueNumber =',valueNumber,'  suitNumber =',suitNumber,'  cardIdentity =',cardIdentity)  #*****DEBUG*****#
        if i == 0:
            deckIdentity = [cardIdentity]
        else:
            deckIdentity = deckIdentity + [cardIdentity]

def CardIentity(cardNumber):
    cardValues = ['K', 'A', '2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q']
    cardSuits = ['S', 'H', 'D', 'C']
    valueNumber = cardNumber % 13
    cardIdentity = cardIdentity + cardValues[valueNumber]
    suitNumber = (cardNumber - 1) // 13
    cardIdentity = cardIdentity + cardSuits[suitNumber]
    return(cardIdentity)

Poker()
#global deck
#global deckIdentity
#global cards
#for i in range(0,52):
#    print('deckIdentity[',i,'] =',deckIdentity[i])

Tags: infordefglobalcardsprintdeckcardnumber