Ask coding questions

← Back to all posts
Why do I get this error?
JordanDixon1 (445)

import time, os, random
#Functions for Betting Arena.

level_counter = 2.5

lvlbar = 0

lvlneed = 2

upgrades = []

level = 1

money = 57

job = 'McDonald\'s Employee'

daily_earnings = 9

def bet():
print('The horse races are about to begin! Pick your horse and the amount you would like to bet.')
print('Horses are as follows:')
print('1)The Speedy Lightning')
print('3)The Trashy Terror')
print('4)The Slippery Shadow.')
horse = input('Which horse are you gonna bet on: ')
if horse == '1':
print('You bet on The Speedy Lightning!')
elif horse == '2':
print('You bet on the Hitmarker!')
elif horse == '3':
print('You bet on... The Trashy Terror..?')
elif horse == '4':
print('You bet on The Slippery Shadow!')

winning = random.randint(1,4)
running = True
while running == True:
	print('What would you like to bet?')
	print('Your money: ' + str(money))
	bet = input('Your bet: ')
		bet = int(bet)
		money =- bet
		running = False
		print('Thats not a valid amount.')

print('You bet: $' + str(bet))
print('And we\'re off to the races...')
if winning == 1:
	print('YOU WON!!!')
	money = bet * 4
	print('Your money: ' + str(money))
	print('Sorry sport. You lost... There was a 1 in 4 chance of winning.')

def joob():
if job == 'McDonald\'s Employee':
print('Flip the burgers!')
print('1)Flip \n2)Help')
user = input('Choice: ')

	if user == '1':
		burger = 0
		burgerneeded = random.randint(1, 10)
		while burger << burgerneeded:
			input('Press enter to flip.')
			input('Press enter to flip.')
			counter = 10 - burger
			print('Great job! Only ' + str(counter) + ' burgers to go!')
		money =+ daily_earnings
		print('Great Job! You got paid: ' + '$' + str(daily_earnings))
		impressedboss = False
		if impressedboss == False:
			print('You impressed your boss and got a raise!')
			daily_earnings =+ 2
			impressedboss = True
		lvlbar = lvlbar + level_counter
		if lvlbar == lvlneed:
			print('You Leveled Up!')
			lvlneed + 4
			lvlbar = 0
			level_counter = level_counter + 2

I keep on getting local variable defined in enclosing scope.

Answered by PizzaRules668 (9) [earned 5 cycles]
View Answer
PizzaRules668 (9)

Right after you define joob() put global money

JordanDixon1 (445)

@PizzaRules668 You fixed my problem, however another one arose. When the game stops the tutorial. (Starts up game()) I can't make any selection.

PizzaRules668 (9)

@JordanDixon1 Your input is a str, in python you can not compare a str and a int. you can make user a int by doing
user = int(user)
user = int(input('Your choice: ')

JordanDixon1 (445)

@PizzaRules668 Ok, I have fixed most problems. However, now I have a new problem... The variable money when printed in the stat() isn't printing the real number however, in bet() it does. (To be honest, I think I want to invite you that way we can work on it together.)

PizzaRules668 (9)

@JordanDixon1 It is not a global variable.
fix: global money, level, job, daily_earnings
you can copy and paste after line 28

JordanDixon1 (445)

@PizzaRules668 Ok, I fixed it. It was because I set the variable twice once in the def and once in the functions

JordanDixon1 (445)

@PizzaRules668 Nevermind, I didn't fix a darn thing.