Skip to content

Commit dacdff5

Browse files
authored
uploaded pset4
1 parent 3a56614 commit dacdff5

File tree

6 files changed

+161
-0
lines changed

6 files changed

+161
-0
lines changed

pset4/adieu.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name = []
2+
while True:
3+
try:
4+
inpt= input('Name: ')
5+
name.append(inpt)
6+
except:
7+
break
8+
9+
print('Adieu, adieu, to',end=' ')
10+
if len(name)>2:
11+
for n in name[:-1]:
12+
print(n, end=', ')
13+
14+
print('and', name[-1])
15+
else:
16+
print(name[0], end='')
17+
if len(name)==2:
18+
print(' and', name[1])

pset4/bitcoin.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import requests
2+
from sys import argv, exit
3+
4+
# get response
5+
try:
6+
response = requests.get('https://api.coindesk.com/v1/bpi/currentprice.json')
7+
except requests.RequestException:
8+
exit()
9+
10+
# get price of bitcoin
11+
res = response.json()
12+
price = res['bpi']['USD']['rate'].replace(',','')
13+
price = float(price)
14+
15+
# check and get argument
16+
if len(argv) != 2:
17+
exit('Missing command-line argument')
18+
else:
19+
try:
20+
number = float(argv[1])
21+
except:
22+
exit('Command-line argument is not a number')
23+
24+
# calculate price
25+
total = number * price
26+
27+
print(f'${total:,.4f}')

pset4/emojize.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from emoji import emojize
2+
3+
inpt= input('Input: ')
4+
print('Output:',emojize(inpt, language='alias'))

pset4/figlet.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
from pyfiglet import Figlet
2+
from sys import argv, exit
3+
from random import choice
4+
5+
fig = Figlet()
6+
font_list=fig.getFonts()
7+
8+
if len(argv) == 1:
9+
r_font = choice(font_list)
10+
fig.setFont(font=r_font)
11+
elif len(argv) == 3:
12+
if argv[1]=='-f' or argv[1]=='--font':
13+
c_font = argv[2]
14+
if c_font not in font_list:
15+
exit('Invalid usage')
16+
fig.setFont(font=c_font)
17+
else:
18+
exit('Invalid usage')
19+
else:
20+
exit('Invalid usage')
21+
text = input('Input: ')
22+
print(fig.renderText(text))
23+
24+
25+

pset4/game.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import random
2+
3+
while True:
4+
try:
5+
level = input('Level: ')
6+
if level.isnumeric():
7+
level = int(level)
8+
else:
9+
raise Exception
10+
if level > 0:
11+
break
12+
else:
13+
raise Exception
14+
except:
15+
pass
16+
17+
n = random.randint(1,level)
18+
guess=0
19+
20+
while guess != n:
21+
guess = input('Guess: ')
22+
if guess.isnumeric():
23+
guess= int(guess)
24+
else:
25+
continue
26+
if guess > n:
27+
print('Too large!')
28+
elif guess < n:
29+
print('Too small!')
30+
else:
31+
print('Just right!')
32+
break

pset4/professor.py

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import random
2+
3+
def main():
4+
5+
level = get_level()
6+
score = 0
7+
8+
for _ in range(10):
9+
x = generate_integer(level)
10+
y = generate_integer(level)
11+
12+
ans = str(x+y)
13+
res = 0
14+
15+
for i in range(4):
16+
if i == 3:
17+
print(x, '+', y, '=', ans)
18+
break
19+
20+
print(x, '+', y, '=', end=' ')
21+
res = input()
22+
if res!=ans:
23+
print('EEE')
24+
else:
25+
score+=1
26+
break
27+
28+
print('Score: ', score)
29+
30+
def get_level():
31+
while True:
32+
try:
33+
level = input('Level: ')
34+
if level.isnumeric():
35+
level = int(level)
36+
else:
37+
raise Exception
38+
if 0 < level and level < 4:
39+
return level
40+
else:
41+
raise Exception
42+
except:
43+
pass
44+
45+
46+
def generate_integer(level):
47+
if level == 1:
48+
return random.randint(0,9)
49+
elif level == 2:
50+
return random.randint(10,99)
51+
else:
52+
return random.randint(100,999)
53+
54+
if __name__ == "__main__":
55+
main()

0 commit comments

Comments
 (0)