Хороший день :)I/O python: Обработка выходных данных и переменных
Итак, в течение дня я решил создать азартную игру. Я тестирую стратегию азартных игр (так что, если вы попытаетесь применить мой метод)
Позвольте мне показать мой код, а затем все, что произошло.
from random import randint
winningNumber=0
bankroll=5000
testCase=1
betLevel=0
bettingLevel=[1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987]
town=[]
bet=0
#----------------------------
my_file= open("output.txt","w")
my_file.write(" # Bet Number Outcome bankroll "+"\n")
def startTheSimulation():
print "OK"
for i in range(100):
if bankroll==0:
break
global betLevel
if bankroll < bettingLevel[betLevel]:
betLevel=0
bet= bettingLevel[betLevel]
print "betlevel",betLevel
print "bet",bet
winningNumber= randint(0,36)
print "winningnumber",winningNumber
if winningNumber== 4:
win(bet)
else:
lose(bet)
def win(inbox):
global bankroll
cow= inbox*35
bankroll+=cow
print "OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
print "bankroll",bankroll
town=[testCase,bet,winningNumber,"WIN",bankroll]
print town
betLevel=0
writing()
def lose(inbox):
global bankroll
global betLevel
wow= inbox
bankroll-=wow
town=[testCase,bet,winningNumber,"LOSE",bankroll]
betLevel+=1
if betLevel==16:
betLevel=15
writing()
def writing():
global testCase
testCase+=1
print "Hey!"
my_file.write(" ".join(town)+"\n")
startTheSimulation()
my_file.write("On all betting, player bet single bet on one number, which is number 4. How money money bet on number for is indicated.")
my_file.close()
Моя система ставок является странной. Он работает как мартингальная система ставок, но вместо того, чтобы удвоить мою ставку, моя следующая ставка основана на последовательности Фибоначчи.
Параметр betLevel используется для определения того, сколько я должен ставить. Пакет ставок показывает список последовательности Fibonnaci.
Вот приходит беда
Trouble # 1: Мой вывод содержит пустую строку
Нужный выходного файла это
& Bet Number Outcome bankroll
# 100 lines of information
On all betting, player bet single bet on one number, which is number 4. How money money bet on number for is indicated.
Однако, я в свою очередь, получил эту
& Bet Number Outcome bankroll
# 100 BLANK LINES
On all betting, player bet single bet on one number, which is number 4. How money money bet on number for is indicated.
Процесс мой отладки: Я на самом деле печатаю список города. Список, если он заполнен (не пуст). Никаких других улучшений.
Проблема № 2: (Решается с помощью функции с аргументами.) Мой банковский рулон не обновляется.
Процесс отладки: Я понял проблему.
Обратите внимание на функцию выигрыша. Когда я печатаю (int (35) * int (ставка)). Оказывается, возвращается 0, в результате чего банкролл не движется. HOWEVER Когда я печатаю «ставку», делаю ставку в функции startTheSimulation(), он печатает правильный номер. Я застрял здесь.
Это моя самая большая проблема. Любая помощь приветствуется.
PS: Я использую глобального избежать UnboundLocalError PPS: Я использую Python 2.7.6
Я решил вторую задачу (банкролл), используя параметры по Fuction, но не удается разрешить вывод. Я честно еще не изучил класс. Я постараюсь подойти к нему. BTW, пожалуйста, воздайте должное новому методу :) BTW, я пришел из AS3 – Realdeo