Skip to content

Commit a3e495d

Browse files
committed
style changes, many small improvements
1 parent da8b23a commit a3e495d

28 files changed

+476
-614
lines changed

projects/99bottles.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# 99 bottles lyrics generator
22
# By Ted Silbernagel
33

4+
45
# Define the function to generate the lyrics
56
def gen_lyrics():
67
# Start at 99 and work backwards

projects/Blackjack.py

Lines changed: 48 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -4,76 +4,47 @@
44
# Import dependencies
55
import random
66

7-
# Define function
8-
def playBlackjack():
9-
# Set up card class
10-
class Card(object):
11-
def __init__(self, number, suit, name, value):
12-
self.number = number
13-
self.suit = suit
14-
self.name = name
15-
self.value = value
167

8+
# Set up card class
9+
class Card(object):
10+
def __init__(self, number, suit, name, value):
11+
self.number = number
12+
self.suit = suit
13+
self.name = name
14+
self.value = value
15+
16+
17+
# Define function to calculate hand value
18+
def calcHandValue(hand):
19+
handValue = 0
20+
for card in hand:
21+
handValue += card.value
22+
return handValue
23+
24+
25+
# Define function to print current card value
26+
def printCurrentValue(currentValue):
27+
print(f'The current value of your cards is {currentValue}.')
28+
29+
30+
# Define main function
31+
def playBlackjack():
1732
# Set up deck
1833
cardDeck = []
1934
def genCardDeck():
20-
sH = 'hearts'
21-
sD = 'diamonds'
22-
sS = 'spades'
23-
sC = 'clubs'
35+
suits = ['hearts', 'diamonds','spades','clubs']
36+
faces = ['ace', 'two', 'three', 'four', 'five', 'six', 'seven',
37+
'eight', 'nine', 'ten', 'jack', 'queen', 'king']
2438
cardDeck.clear()
25-
cardDeck.append(Card(1, sH, 'ace', 1))
26-
cardDeck.append(Card(2, sH, 'two', 2))
27-
cardDeck.append(Card(3, sH, 'three', 3))
28-
cardDeck.append(Card(4, sH, 'four', 4))
29-
cardDeck.append(Card(5, sH, 'five', 5))
30-
cardDeck.append(Card(6, sH, 'six', 6))
31-
cardDeck.append(Card(7, sH, 'seven', 7))
32-
cardDeck.append(Card(8, sH, 'eight', 8))
33-
cardDeck.append(Card(9, sH, 'nine', 9))
34-
cardDeck.append(Card(10, sH, 'ten', 10))
35-
cardDeck.append(Card(11, sH, 'jack', 10))
36-
cardDeck.append(Card(12, sH, 'queen', 10))
37-
cardDeck.append(Card(13, sH, 'king', 10))
38-
cardDeck.append(Card(14, sD, 'ace', 1))
39-
cardDeck.append(Card(15, sD, 'two', 2))
40-
cardDeck.append(Card(16, sD, 'three', 3))
41-
cardDeck.append(Card(17, sD, 'four', 4))
42-
cardDeck.append(Card(18, sD, 'five', 5))
43-
cardDeck.append(Card(19, sD, 'six', 6))
44-
cardDeck.append(Card(20, sD, 'seven', 7))
45-
cardDeck.append(Card(21, sD, 'eight', 8))
46-
cardDeck.append(Card(22, sD, 'nine', 9))
47-
cardDeck.append(Card(23, sD, 'ten', 10))
48-
cardDeck.append(Card(24, sD, 'jack', 10))
49-
cardDeck.append(Card(25, sD, 'queen', 10))
50-
cardDeck.append(Card(26, sD, 'king', 10))
51-
cardDeck.append(Card(27, sS, 'ace', 1))
52-
cardDeck.append(Card(28, sS, 'two', 2))
53-
cardDeck.append(Card(29, sS, 'three', 3))
54-
cardDeck.append(Card(30, sS, 'four', 4))
55-
cardDeck.append(Card(31, sS, 'five', 5))
56-
cardDeck.append(Card(32, sS, 'six', 6))
57-
cardDeck.append(Card(33, sS, 'seven', 7))
58-
cardDeck.append(Card(34, sS, 'eight', 8))
59-
cardDeck.append(Card(35, sS, 'nine', 9))
60-
cardDeck.append(Card(36, sS, 'ten', 10))
61-
cardDeck.append(Card(37, sS, 'jack', 10))
62-
cardDeck.append(Card(38, sS, 'queen', 10))
63-
cardDeck.append(Card(39, sS, 'king', 10))
64-
cardDeck.append(Card(40, sC, 'ace', 1))
65-
cardDeck.append(Card(41, sC, 'two', 2))
66-
cardDeck.append(Card(42, sC, 'three', 3))
67-
cardDeck.append(Card(43, sC, 'four', 4))
68-
cardDeck.append(Card(44, sC, 'five', 5))
69-
cardDeck.append(Card(45, sC, 'six', 6))
70-
cardDeck.append(Card(46, sC, 'seven', 7))
71-
cardDeck.append(Card(47, sC, 'eight', 8))
72-
cardDeck.append(Card(48, sC, 'nine', 9))
73-
cardDeck.append(Card(49, sC, 'ten', 10))
74-
cardDeck.append(Card(50, sC, 'jack', 10))
75-
cardDeck.append(Card(51, sC, 'queen', 10))
76-
cardDeck.append(Card(52, sC, 'king', 10))
39+
40+
# Card number must be unique. Keep track of it here
41+
uniqueCardNumber = 1
42+
for i in range(4):
43+
for j in range(1, 14):
44+
# Jack, queen, and king are all ten
45+
suitCardNo = 10 if (j > 10) else j
46+
cardDeck.append(Card(uniqueCardNumber, suits[i], faces[j-1], suitCardNo))
47+
uniqueCardNumber += 1
7748

7849
# Set up user's hand
7950
hand = []
@@ -85,34 +56,22 @@ def genCardDeck():
8556
# Define function to process a turn
8657
def hitOrStand():
8758
choice = input('Would you like to hit or stand? ')
88-
if (choice.lower() == 'hit') or (choice.lower() == 'h'):
59+
if (choice.lower() in ['hit', 'h']):
8960
print('Dealing new card...')
9061
takeNewCard()
91-
bustReturn = calcHandValue()
62+
bustReturn = calcHandValue(hand)
9263
if bustReturn > 21:
9364
print('Bust! Subtracting 21 points.')
9465
global earnedScore
9566
earnedScore -= 21
9667
elif bustReturn == 21:
9768
print('Perfect 21! Ending turn.')
9869
else:
99-
currentValue()
70+
printCurrentValue(calcHandValue(hand))
10071
hitOrStand()
101-
elif (choice.lower() == 'stand') or (choice.lower() == 's'):
72+
elif (choice.lower() in ['stand', 's']):
10273
print('Ending turn...')
103-
endTurn(calcHandValue())
104-
105-
# Define function to print current card value
106-
def currentValue():
107-
value = calcHandValue()
108-
print(f'The current value of your cards is {value}.')
109-
110-
# Define function to calculate hand value
111-
def calcHandValue():
112-
handValue = 0
113-
for card in hand:
114-
handValue += card.value
115-
return handValue
74+
endTurn(calcHandValue(hand))
11675

11776
# Define function to take a new card
11877
def takeNewCard():
@@ -133,7 +92,7 @@ def startTurn(i, rounds):
13392
hand.clear()
13493
takeNewCard()
13594
takeNewCard()
136-
currentValue()
95+
printCurrentValue(calcHandValue(hand))
13796
hitOrStand()
13897

13998
# Define function to end turn
@@ -156,16 +115,17 @@ def endTurn(handValue):
156115
if i < rounds:
157116
print(f'Score after round {i}: {earnedScore}')
158117
else:
118+
start = f'Final score: {earnedScore}. Grade: '
159119
if earnedScore >= 90:
160-
print(f'Final score: {earnedScore}. Grade: A')
120+
print(start + 'A')
161121
elif earnedScore >= 80:
162-
print(f'Final score: {earnedScore}. Grade: B')
122+
print(start + 'B')
163123
elif earnedScore >= 70:
164-
print(f'Final score: {earnedScore}. Grade: C')
124+
print(start + 'C')
165125
elif earnedScore >= 60:
166-
print(f'Final score: {earnedScore}. Grade: D.')
126+
print(start + 'D')
167127
else:
168-
print(f'Final score: {earnedScore}. Grade: F.')
128+
print(start + 'F')
169129

170130
# Call function
171131
playBlackjack()

projects/BubbleSort.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Super basic bubble sort algorithm
22
# By Ted Silbernagel
33

4+
45
# Define function to check to see if a list is sorted
56
def listIsSorted(listToCheck):
67
for item in listToCheck:
@@ -12,6 +13,7 @@ def listIsSorted(listToCheck):
1213
return False
1314
return True
1415

16+
1517
# Define function to bubble sort
1618
def bubbleSort(userList):
1719
listToSort = userList.split(',')

0 commit comments

Comments
 (0)