-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathslot_machine.py
82 lines (59 loc) · 1.83 KB
/
slot_machine.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Slot Machine
import random
def spin_row():
symbols = ['🍒', '🍉', '🍋', '🔔', '⭐']
return [random.choice(symbols) for _ in range(3)]
def print_row(row):
print("**************")
print(" | ".join(row))
print("**************")
def get_payout(row, bet):
if row[0] == row[1] == row[2]:
if row[0] == '🍒':
return bet * 3
elif row[0] == '🍉':
return bet * 4
elif row[0] == '🍋':
return bet * 5
elif row[0] == '🔔':
return bet * 10
elif row[0] == '⭐':
return bet * 20
return 0
def main():
balance = 100
print("*************************")
print("Welcome to Python Slots ")
print("Symbols: 🍒 🍉 🍋 🔔 ⭐")
print("*************************")
while balance > 0:
print(f"Current balance: ${balance}")
bet = input("Place your bet amount: ")
if not bet.isdigit():
print("Please enter a valid number")
continue
bet = int(bet)
if bet > balance:
print("Insufficient funds")
continue
if bet <= 0:
print("Bet must be greater than 0")
continue
balance -= bet
row = spin_row()
print("Spinning...\n")
print_row(row)
payout = get_payout(row, bet)
if payout > 0:
print(f"You won ${payout}")
else:
print("Sorry you lost this round")
balance += payout
play_again = input("Do you want to spin again? (Y/N): ").upper()
if play_again != 'Y':
break
print("*******************************************")
print(f"Game over! Your final balance is ${balance}")
print("*******************************************")
if __name__ == '__main__':
main()