Компиляция кода python через терминал (Mac OS)

Henry спросил: 28 марта 2018 в 03:35 в: python

Я пишу код для анализа математики Монополии, я думал, что все в порядке, тогда я ее сохранил, а затем запустил терминал.

python Monopoly.py

p> python3 Monopoly.py

Ни одна из этих двух команд не выдала результат. Нет предупреждений и ошибок. Где проблема?

Вот весь код. Я пытаюсь посмотреть на это снова и снова. Я писал это руками раньше, и я думал, что все в порядке.

Ошибок в выходе нет, просто ничего, например, если он готов к запуску.

def monop(finish_order=6,games_order=3):finish = 10**finish_order
games = 10**games_orderimport random
from random import shufflesquares = []while len(squares) < 40:
    squares.append(0)# roll values are values from a six by six grid for all dice rolls
rollvalues = [2,3,4,5,6,7,3,4,5,6,7,8,4,5,6,7,8,9,5,6,7,8,9,10,6,7,8,9,10,11,7,8,9,10,11,12]games_finished = 0while games_finished < games:    master_chest = [0,40,40,40,40,10,40,40,40,40,40,40,40,40,40,40]
    chest = [i for i in master_chest]
    shuffle(chest)    master_chance = [0,24,11,'U','R',40,40,'B',10,40,40,5,39,40,40,40]
    chance = [i for i in master_chance]
    shuffle(chance)    doubles = 0    position = 0    gos = 0    while gos < finish:        diceroll = int(36*random.random())        if diceroll in [0,7,14,21,28,35]:    # these are the dice index values for double rolls
            doubles += 1
        else:
            doubles = 0
        if doubles >= 3:
            position = 10
        else:            position = (position + rollvalues[diceroll])%40            if position in [7,22,33]:  # Chance
                chance_card = chance.pop(0)
                if len(chance) == 0:
                    chance = [i for i in master_chance]
                    shuffle(chance)
                if chance_card != 40:                    if isinstance(chance_card,int):
                        position = chance_card
                    elif chance_card == 'U':
                        while position not in [12,28]:
                            position = (position + 1)%40
                    elif chance_card == 'R':
                        while position not in [5,15,25,35]:
                            position = (position + 1)%40
                    elif chance_card == 'B':
                        position = position - 3            elif position in [2,17]:  # Community Chest
                chest_card = chest.pop(0)
                if len(chest) == 0:
                    chest = [i for i in master_chest]
                    shuffle(chest)
                if chest_card != 40:
                    position = chest_card            if position == 30: # Go to jail
                position = 10        squares.insert(position,(squares.pop(position)+1))        gos += 1    games_finished += 1return squares

1 ответ

Hokagoka ответил: 28 марта 2018 в 03:46

python filename.py - это правильный способ запуска файла из терминала.

Попробуйте использовать в своем файле операторы print"", чтобы проверить, работает ли он

Henry ответил: 28 марта 2018 в 03:47
Я добавил < напечатайте"Hello World" > в начале программы, и он сделал это.
Hokagoka ответил: 28 марта 2018 в 03:51
Круто .. Похоже, что python отлично работает на вашей машине .. Запустите вашу функцию в конце вашей программы, чтобы проверить ее поведение. monop()
Henry ответил: 28 марта 2018 в 04:08
Хм, я добавил его и запустил. Требуется вечность, чтобы дать какой-то вывод ...