Skip to content

Commit 41c5bf5

Browse files
committed
Merge branch 'main' of github.com:PdxCodeGuild/class_HB2
2 parents 84b596b + 04edf71 commit 41c5bf5

File tree

10 files changed

+613
-72
lines changed

10 files changed

+613
-72
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Presentation Day: November 4th, 2022
3838
| 08 | [Dad API](1%20Python/labs/08%20Dad%20API.md) | 15 Jul | 22 Jul | 29 Jul |
3939
| 09 | [Quotes API](1%20Python/labs/09%20Quotes%20API.md) | 19 Jul | 26 Jul | 02 Aug |
4040
| 10 | [ATM](1%20Python/labs/10%20ATM.md) | 21 Jul | 28 Jul | 04 Aug |
41-
| 14 | Lab | 00 Jul | 00 Jun | 00 Jun |
41+
| 11 | [Contacts List](1%20Python/labs/11%20Contact%20List.md) | 25 Jul | 01 Aug | 08 Aug |
4242
| 15 | Lab | 00 Jul | 00 Jun | 00 Jun |
4343

4444
## Getting Unstuck

code/kelin/Average-numbers.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# kelin-lab00-average-numbers
22

3-
# Version 1
3+
4+
45

56
nums = [5, 0, 8, 3, 4, 1, 6]
67
x = sum(nums)

code/kelin/Blackjack-advice.py

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Lab 4: Blackjack Advice
2+
3+
# Let's write a python program to give basic blackjack playing advice during a game by asking the player for cards.
4+
# First, ask the user for three playing cards (A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, or K).
5+
# Then, figure out the point value of each card individually. Number cards are worth their number, all face cards are worth 10.
6+
# At this point, assume aces are worth 1. Use the following rules to determine the advice:
7+
8+
deck_one = ['A','2','3','4','5','6','7','8','9','10','J','Q','K','A','2','3','4','5','6','7','8','9','10','J','Q','K','A','2','3','4','5','6','7','8','9','10','J','Q','K','A','2','3','4','5','6','7','8','9','10','J','Q','K']
9+
deck_two = ['A','2','3','4','5','6','7','8','9','10','J','Q','K','A','2','3','4','5','6','7','8','9','10','J','Q','K','A','2','3','4','5','6','7','8','9','10','J','Q','K','A','2','3','4','5','6','7','8','9','10','J','Q','K']
10+
deck_three = ['A','2','3','4','5','6','7','8','9','10','J','Q','K','A','2','3','4','5','6','7','8','9','10','J','Q','K','A','2','3','4','5','6','7','8','9','10','J','Q','K','A','2','3','4','5','6','7','8','9','10','J','Q','K']
11+
12+
import random
13+
14+
random.shuffle(deck_one)
15+
random.shuffle(deck_two)
16+
random.shuffle(deck_three)
17+
18+
first_card = random.choice(deck_one)
19+
second_card = random.choice(deck_two)
20+
third_card = random.choice(deck_three)
21+
22+
print(f"Welcome to Blackjack.","Your cards are:",first_card,second_card,third_card)
23+
24+
if first_card == 'A':
25+
first_card = int('1')
26+
elif first_card == 'J':
27+
first_card = int('10')
28+
elif first_card == 'Q':
29+
first_card = int('10')
30+
elif first_card == 'K':
31+
first_card = int('10')
32+
33+
if second_card == 'A':
34+
second_card = int('1')
35+
elif second_card == 'J':
36+
second_card = int('10')
37+
elif second_card == 'Q':
38+
second_card = int('10')
39+
elif second_card == 'K':
40+
second_card = int('10')
41+
42+
if third_card == 'A':
43+
third_card = int('1')
44+
elif third_card == 'J':
45+
third_card = int('10')
46+
elif third_card == 'Q':
47+
third_card = int('10')
48+
elif third_card == 'K':
49+
third_card = int('10')
50+
51+
first_card = (int(first_card))
52+
second_card = (int(second_card))
53+
third_card = (int(third_card))
54+
55+
card_totals = (first_card + second_card + third_card)
56+
57+
if card_totals < 17:
58+
print("You should hit.")
59+
elif card_totals in range (17, 21):
60+
print("You should stay.")
61+
elif card_totals > 21:
62+
print("Sorry you busted.")
63+
elif card_totals > 20:
64+
print("Congratulations, Blackjack!")
65+
66+
# Version 2 (optional)
67+
68+
# Aces can be worth 11 if they won't put the total point value of both cards over 21. Remember that you can have multiple aces in a hand.
69+
# Try generating a list of all possible hand values by doubling the number of values in the output whenever you encounter an ace.
70+
# For one half, add 1, for the other, add 11. This ensures if you have multiple aces that you account for the full range of possible values.
Lines changed: 288 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,288 @@
1+
# Lab 3: Number to Phrase
2+
# Convert a given number into its english representation. For example: 67 becomes 'sixty-seven'. Handle numbers from 0-99.
3+
4+
one = {'1':'one','2':'two','3':'three','4':'four','5':'five','6':'six','7':'seven','8':'eight','9':'nine'}
5+
ten = {'1':'ten','2':'twenty','3':'thirty','4':'forty','5':'fifty','6':'sixty','7':'seventy','8':'eighty','9':'ninety'}
6+
teen = {'11':'eleven','12':'twelve','13':'thirteen','14':'fourteen','15':'fifteen','16':'sixteen','17':'seventeen','18':'eighteen','19':'nineteen'}
7+
hundred = {'1':'one hundred','2':'two hundred','3':'three hundred','4':'four hundred','5':'five hundred','6':'six hundred','7':'seven hundred','8':'eight hundred','9':'nine hundred'}
8+
hundred_ten = {'12':'twenty','13':'thirty','14':'forty','15':'fifty','16':'sixy','17':'seventy','18':'eighty','19':'ninety'}
9+
hundred_teen = {'111':'eleven','112':'twelve','113':'thirteen','114':'fourteen','115':'fifteen','116':'sixteen','117':'seventeen','118':'eighteen','119':'nineteen'}
10+
two_hundred_teen = {'211':'eleven','212':'twelve','213':'thirteen','214':'fourteen','215':'fifteen','216':'sixteen','217':'seventeen','218':'eighteen','219':'nineteen'}
11+
three_hundred_teen = {'311':'eleven','312':'twelve','313':'thirteen','314':'fourteen','315':'fifteen','316':'sixteen','317':'seventeen','318':'eighteen','319':'nineteen'}
12+
four_hundred_teen = {'411':'eleven','412':'twelve','413':'thirteen','414':'fourteen','415':'fifteen','416':'sixteen','417':'seventeen','418':'eighteen','419':'nineteen'}
13+
five_hundred_teen = {'511':'eleven','512':'twelve','513':'thirteen','514':'fourteen','515':'fifteen','516':'sixteen','517':'seventeen','518':'eighteen','519':'nineteen'}
14+
six_hundred_teen = {'611':'eleven','612':'twelve','613':'thirteen','614':'fourteen','615':'fifteen','616':'sixteen','617':'seventeen','618':'eighteen','619':'nineteen'}
15+
seven_hundred_teen = {'711':'eleven','712':'twelve','713':'thirteen','714':'fourteen','715':'fifteen','716':'sixteen','717':'seventeen','718':'eighteen','719':'nineteen'}
16+
eight_hundred_teen = {'811':'eleven','812':'twelve','813':'thirteen','814':'fourteen','815':'fifteen','816':'sixteen','817':'seventeen','818':'eighteen','819':'nineteen'}
17+
nine_hundred_teen = {'911':'eleven','912':'twelve','913':'thirteen','914':'fourteen','915':'fifteen','916':'sixteen','917':'seventeen','918':'eighteen','919':'nineteen'}
18+
hundred_twenty = {'22':'twenty','23':'thirty','24':'forty','25':'fifty','26':'sixty','27':'seventy','28':'eighty','29':'ninety'}
19+
hundred_thirty = {'32':'twenty','33':'thirty','34':'forty','35':'fifty','36':'sixty','37':'seventy','38':'eighty','39':'ninety'}
20+
hundred_forty = {'42':'twenty','43':'thirty','44':'forty','45':'fifty','46':'sixty','47':'seventy','48':'eighty','49':'ninety'}
21+
hundred_fifty = {'52':'twenty','53':'thirty','54':'forty','55':'fifty','56':'sixty','57':'seventy','58':'eighty','59':'ninety'}
22+
hundred_sixty = {'62':'twenty','63':'thirty','64':'forty','65':'fifty','66':'sixty','67':'seventy','68':'eighty','69':'ninety'}
23+
hundred_seventy = {'72':'twenty','73':'thirty','74':'forty','75':'fifty','76':'sixty','77':'seventy','78':'eighty','79':'ninety'}
24+
hundred_eighty = {'82':'twenty','83':'thirty','84':'forty','85':'fifty','86':'sixty','87':'seventy','88':'eighty','89':'ninety'}
25+
hundred_ninety = {'92':'twenty','93':'thirty','94':'forty','95':'fifty','96':'sixty','97':'seventy','98':'eighty','99':'ninety'}
26+
27+
num = input('Enter a number between 0 and 999: ')
28+
ones = int(num)%10
29+
teens = int(num)
30+
tens = int(num)//10
31+
hundreds = int(num)//100
32+
user_num = int(num)
33+
34+
if user_num == 0:
35+
print('zero')
36+
37+
elif user_num < 10:
38+
ones_phrase = str(ones)
39+
num_phrase_ones = one[ones_phrase]
40+
print(num_phrase_ones)
41+
42+
elif user_num in range (11, 20):
43+
teens_phrase = str(teens)
44+
num_phrase_teens = teen[teens_phrase]
45+
print(num_phrase_teens)
46+
47+
elif user_num in range (10, 100, 10):
48+
tens_phrase = str(tens)
49+
num_phrase_tens = ten[tens_phrase]
50+
print(num_phrase_tens)
51+
52+
elif user_num in range (20, 100, 1):
53+
tens_phrase = str(tens)
54+
num_phrase_tens = ten[tens_phrase]
55+
ones_phrase = str(ones)
56+
num_phrase_ones = one[ones_phrase]
57+
print(num_phrase_tens,num_phrase_ones)
58+
59+
# Version 2
60+
# Handle numbers from 100-999.
61+
62+
elif user_num in range (100, 1000, 100):
63+
hundreds_phrase = str(hundreds)
64+
num_phrase_hundreds = hundred[hundreds_phrase]
65+
print(num_phrase_hundreds)
66+
67+
elif user_num in range (100, 1000, 10):
68+
hundreds_phrase = str(hundreds)
69+
num_phrase_hundreds = hundred[hundreds_phrase]
70+
tens_phrase = str(tens)
71+
num_phrase_tens = hundred_ten[tens_phrase]
72+
print(num_phrase_hundreds,num_phrase_tens)
73+
74+
elif user_num in range (100, 109, 1):
75+
hundreds_phrase = str(hundreds)
76+
num_phrase_hundreds = hundred[hundreds_phrase]
77+
ones_phrase = str(ones)
78+
num_phrase_ones = one[ones_phrase]
79+
print(num_phrase_hundreds,num_phrase_ones)
80+
81+
elif user_num in range (200, 209, 1):
82+
hundreds_phrase = str(hundreds)
83+
num_phrase_hundreds = hundred[hundreds_phrase]
84+
ones_phrase = str(ones)
85+
num_phrase_ones = one[ones_phrase]
86+
print(num_phrase_hundreds,num_phrase_ones)
87+
88+
elif user_num in range (300, 309, 1):
89+
hundreds_phrase = str(hundreds)
90+
num_phrase_hundreds = hundred[hundreds_phrase]
91+
ones_phrase = str(ones)
92+
num_phrase_ones = one[ones_phrase]
93+
print(num_phrase_hundreds,num_phrase_ones)
94+
95+
elif user_num in range (400, 409, 1):
96+
hundreds_phrase = str(hundreds)
97+
num_phrase_hundreds = hundred[hundreds_phrase]
98+
ones_phrase = str(ones)
99+
num_phrase_ones = one[ones_phrase]
100+
print(num_phrase_hundreds,num_phrase_ones)
101+
102+
elif user_num in range (500, 509, 1):
103+
hundreds_phrase = str(hundreds)
104+
num_phrase_hundreds = hundred[hundreds_phrase]
105+
ones_phrase = str(ones)
106+
num_phrase_ones = one[ones_phrase]
107+
print(num_phrase_hundreds,num_phrase_ones)
108+
109+
elif user_num in range (600, 609, 1):
110+
hundreds_phrase = str(hundreds)
111+
num_phrase_hundreds = hundred[hundreds_phrase]
112+
ones_phrase = str(ones)
113+
num_phrase_ones = one[ones_phrase]
114+
print(num_phrase_hundreds,num_phrase_ones)
115+
116+
elif user_num in range (700, 709, 1):
117+
hundreds_phrase = str(hundreds)
118+
num_phrase_hundreds = hundred[hundreds_phrase]
119+
ones_phrase = str(ones)
120+
num_phrase_ones = one[ones_phrase]
121+
print(num_phrase_hundreds,num_phrase_ones)
122+
123+
elif user_num in range (800, 809, 1):
124+
hundreds_phrase = str(hundreds)
125+
num_phrase_hundreds = hundred[hundreds_phrase]
126+
ones_phrase = str(ones)
127+
num_phrase_ones = one[ones_phrase]
128+
print(num_phrase_hundreds,num_phrase_ones)
129+
130+
elif user_num in range (900, 909, 1):
131+
hundreds_phrase = str(hundreds)
132+
num_phrase_hundreds = hundred[hundreds_phrase]
133+
ones_phrase = str(ones)
134+
num_phrase_ones = one[ones_phrase]
135+
print(num_phrase_hundreds,num_phrase_ones)
136+
137+
elif user_num in range (111, 120, 1):
138+
hundreds_phrase = str(hundreds)
139+
num_phrase_hundreds = hundred[hundreds_phrase]
140+
teens_phrase = str(teens)
141+
num_phrase_teens = hundred_teen[teens_phrase]
142+
print(num_phrase_hundreds,num_phrase_teens)
143+
144+
elif user_num in range (121, 200, 1):
145+
hundreds_phrase = str(hundreds)
146+
num_phrase_hundreds = hundred[hundreds_phrase]
147+
tens_phrase = str(tens)
148+
num_phrase_tens = hundred_ten[tens_phrase]
149+
ones_phrase = str(ones)
150+
num_phrase_ones = one[ones_phrase]
151+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
152+
153+
elif user_num in range (211, 220, 1):
154+
hundreds_phrase = str(hundreds)
155+
num_phrase_hundreds = hundred[hundreds_phrase]
156+
teens_phrase = str(teens)
157+
num_phrase_teens = two_hundred_teen[teens_phrase]
158+
print(num_phrase_hundreds,num_phrase_teens)
159+
160+
elif user_num in range (311, 320, 1):
161+
hundreds_phrase = str(hundreds)
162+
num_phrase_hundreds = hundred[hundreds_phrase]
163+
teens_phrase = str(teens)
164+
num_phrase_teens = three_hundred_teen[teens_phrase]
165+
print(num_phrase_hundreds,num_phrase_teens)
166+
167+
elif user_num in range (411, 420, 1):
168+
hundreds_phrase = str(hundreds)
169+
num_phrase_hundreds = hundred[hundreds_phrase]
170+
teens_phrase = str(teens)
171+
num_phrase_teens = four_hundred_teen[teens_phrase]
172+
print(num_phrase_hundreds,num_phrase_teens)
173+
174+
elif user_num in range (511, 520, 1):
175+
hundreds_phrase = str(hundreds)
176+
num_phrase_hundreds = hundred[hundreds_phrase]
177+
teens_phrase = str(teens)
178+
num_phrase_teens = five_hundred_teen[teens_phrase]
179+
print(num_phrase_hundreds,num_phrase_teens)
180+
181+
elif user_num in range (611, 620, 1):
182+
hundreds_phrase = str(hundreds)
183+
num_phrase_hundreds = hundred[hundreds_phrase]
184+
teens_phrase = str(teens)
185+
num_phrase_teens = six_hundred_teen[teens_phrase]
186+
print(num_phrase_hundreds,num_phrase_teens)
187+
188+
elif user_num in range (711, 720, 1):
189+
hundreds_phrase = str(hundreds)
190+
num_phrase_hundreds = hundred[hundreds_phrase]
191+
teens_phrase = str(teens)
192+
num_phrase_teens = seven_hundred_teen[teens_phrase]
193+
print(num_phrase_hundreds,num_phrase_teens)
194+
195+
elif user_num in range (811, 820, 1):
196+
hundreds_phrase = str(hundreds)
197+
num_phrase_hundreds = hundred[hundreds_phrase]
198+
teens_phrase = str(teens)
199+
num_phrase_teens = eight_hundred_teen[teens_phrase]
200+
print(num_phrase_hundreds,num_phrase_teens)
201+
202+
elif user_num in range (911, 920, 1):
203+
hundreds_phrase = str(hundreds)
204+
num_phrase_hundreds = hundred[hundreds_phrase]
205+
teens_phrase = str(teens)
206+
num_phrase_teens = nine_hundred_teen[teens_phrase]
207+
print(num_phrase_hundreds,num_phrase_teens)
208+
209+
elif user_num in range (221, 300, 1):
210+
hundreds_phrase = str(hundreds)
211+
num_phrase_hundreds = hundred[hundreds_phrase]
212+
tens_phrase = str(tens)
213+
num_phrase_tens = hundred_twenty[tens_phrase]
214+
ones_phrase = str(ones)
215+
num_phrase_ones = one[ones_phrase]
216+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
217+
218+
elif user_num in range (321, 400, 1):
219+
hundreds_phrase = str(hundreds)
220+
num_phrase_hundreds = hundred[hundreds_phrase]
221+
tens_phrase = str(tens)
222+
num_phrase_tens = hundred_thirty[tens_phrase]
223+
ones_phrase = str(ones)
224+
num_phrase_ones = one[ones_phrase]
225+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
226+
227+
elif user_num in range (421, 500, 1):
228+
hundreds_phrase = str(hundreds)
229+
num_phrase_hundreds = hundred[hundreds_phrase]
230+
tens_phrase = str(tens)
231+
num_phrase_tens = hundred_forty[tens_phrase]
232+
ones_phrase = str(ones)
233+
num_phrase_ones = one[ones_phrase]
234+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
235+
236+
elif user_num in range (521, 600, 1):
237+
hundreds_phrase = str(hundreds)
238+
num_phrase_hundreds = hundred[hundreds_phrase]
239+
tens_phrase = str(tens)
240+
num_phrase_tens = hundred_fifty[tens_phrase]
241+
ones_phrase = str(ones)
242+
num_phrase_ones = one[ones_phrase]
243+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
244+
245+
elif user_num in range (621, 700, 1):
246+
hundreds_phrase = str(hundreds)
247+
num_phrase_hundreds = hundred[hundreds_phrase]
248+
tens_phrase = str(tens)
249+
num_phrase_tens = hundred_sixty[tens_phrase]
250+
ones_phrase = str(ones)
251+
num_phrase_ones = one[ones_phrase]
252+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
253+
254+
elif user_num in range (721, 800, 1):
255+
hundreds_phrase = str(hundreds)
256+
num_phrase_hundreds = hundred[hundreds_phrase]
257+
tens_phrase = str(tens)
258+
num_phrase_tens = hundred_seventy[tens_phrase]
259+
ones_phrase = str(ones)
260+
num_phrase_ones = one[ones_phrase]
261+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
262+
263+
elif user_num in range (821, 900, 1):
264+
hundreds_phrase = str(hundreds)
265+
num_phrase_hundreds = hundred[hundreds_phrase]
266+
tens_phrase = str(tens)
267+
num_phrase_tens = hundred_eighty[tens_phrase]
268+
ones_phrase = str(ones)
269+
num_phrase_ones = one[ones_phrase]
270+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
271+
272+
elif user_num in range (921, 1000, 1):
273+
hundreds_phrase = str(hundreds)
274+
num_phrase_hundreds = hundred[hundreds_phrase]
275+
tens_phrase = str(tens)
276+
num_phrase_tens = hundred_ninety[tens_phrase]
277+
ones_phrase = str(ones)
278+
num_phrase_ones = one[ones_phrase]
279+
print(num_phrase_hundreds,num_phrase_tens,num_phrase_ones)
280+
281+
else:
282+
print('Number out of range.')
283+
284+
# Version 3 (optional)
285+
# Convert a number to roman numerals.
286+
287+
# Version 4 (optional)
288+
# Convert a time given in hours and minutes to a phrase.

code/kelin/Practice/Dictionaries

Whitespace-only changes.

0 commit comments

Comments
 (0)