Skip to content

Commit 0c0667c

Browse files
committed
pset4 q3,4,5,6 code
1 parent aba6d86 commit 0c0667c

File tree

4 files changed

+175
-1
lines changed

4 files changed

+175
-1
lines changed

week4/adieu/adieu.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
import inflect
2+
3+
p = inflect.engine()
4+
5+
names = []
6+
7+
while True:
8+
try:
9+
name = input("Name: ")
10+
except EOFError:
11+
print()
12+
break
13+
else:
14+
names.append(name)
15+
16+
print(f"Adieu, adieu, to {p.join(names)}")
17+
18+
"""
19+
# code works but check50 is not accepting. In the hint it suggests to use inflect module with which it works.
20+
121
names = []
222
323
while True:
@@ -17,4 +37,5 @@
1737
elif names[i] != names[-1]:
1838
print(", " + names[i], end = "")
1939
else:
20-
print(" and " + names[i], end = "")
40+
print(" and " + names[i], end = "")
41+
"""

week4/bitcoin/bitcoin.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import json
2+
import requests
3+
import sys
4+
5+
if len(sys.argv) == 2:
6+
try:
7+
n = float(sys.argv[1]) # n number of bitcons
8+
except ValueError:
9+
sys.exit("Command-line argument is not a number")
10+
else:
11+
sys.exit("Missing command-line argument")
12+
13+
try:
14+
response = requests.get("https://api.coindesk.com/v1/bpi/currentprice.json")
15+
except requests.RequestException:
16+
sys.exit("There was an exception while handling the api request")
17+
18+
response_json = response.json()
19+
20+
a = response_json["bpi"]
21+
b = a["USD"]
22+
c = b["rate_float"]
23+
24+
print(f"${c*n:,.4f}") # to print with commas at thousands and upto 4 decimal places

week4/game/game.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
from random import randint
2+
from sys import exit
3+
4+
while True:
5+
try:
6+
n = int(input("Level: "))
7+
except ValueError:
8+
continue
9+
else:
10+
if n < 0 or n == 0:
11+
pass
12+
else:
13+
break
14+
15+
x = randint(1, n)
16+
17+
while True:
18+
try:
19+
g = int(input("Guess: "))
20+
except ValueError:
21+
pass
22+
else:
23+
if g > x:
24+
print("Too large!")
25+
elif g < x:
26+
print("Too small!")
27+
else:
28+
exit("Just right!")

week4/professor/professor.py

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
import random
2+
3+
def main():
4+
level = get_level()
5+
error = 0
6+
score = 0
7+
for _ in range(0, 10):
8+
X = generate_integer(level)
9+
Y = generate_integer(level)
10+
while True:
11+
try:
12+
temp = int(input(f"{X} + {Y} = "))
13+
break
14+
except ValueError:
15+
print("EEE")
16+
error += 1
17+
break
18+
if temp != X+Y:
19+
print("EEE")
20+
while True:
21+
try:
22+
temp = int(input(f"{X} + {Y} = "))
23+
except ValueError:
24+
print("EEE")
25+
error += 1
26+
break
27+
else:
28+
if temp == X+Y:
29+
score += 1
30+
break
31+
error += 1
32+
print("EEE")
33+
if error == 2:
34+
print(f"{X} + {Y} = {X+Y}")
35+
error = 0
36+
break
37+
else:
38+
score += 1
39+
print("Score:", score)
40+
41+
def get_level():
42+
while True:
43+
try:
44+
l = int(input("Level: "))
45+
except ValueError:
46+
pass
47+
else:
48+
if l == 1 or l == 2 or l == 3:
49+
return l
50+
else:
51+
pass
52+
53+
def generate_integer(level):
54+
if level == 1:
55+
return random.randint(0, 9)
56+
elif level == 2:
57+
return random.randint(10, 99)
58+
else:
59+
return (random.randint(100, 999))
60+
61+
if __name__ == "__main__":
62+
main()
63+
64+
"""
65+
def main():
66+
n_attempts = 0
67+
wrong_answers = 0
68+
score = 0
69+
70+
level = get_level()
71+
72+
while n_attempts < 10:
73+
if wrong_answers == 0:
74+
x = generate_integer(level)
75+
y = generate_integer(level)
76+
77+
right_answer = x + y
78+
79+
try:
80+
answer = int(input(f"{x} + {y} = "))
81+
except ValueError:
82+
print("EEE")
83+
wrong_answers += 1
84+
else:
85+
if answer == right_answer:
86+
n_attempts += 1
87+
if wrong_answers == 0:
88+
score += 1
89+
90+
wrong_answers = 0
91+
elif wrong_answers < 3:
92+
print("EEE")
93+
wrong_answers += 1
94+
95+
if wrong_answers == 3:
96+
print(f"{x} + {y} = {right_answer}")
97+
wrong_answers = 0
98+
n_attempts += 1
99+
100+
print(f"Score: {score}")
101+
"""

0 commit comments

Comments
 (0)