Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit bf371d1

Browse files
committed
fixed solutions
1 parent 3c85bdf commit bf371d1

File tree

4 files changed

+58
-10
lines changed

4 files changed

+58
-10
lines changed

07_gashlycrumb/gashlycrumb_interactive.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def get_args():
99
"""get command-line arguments"""
1010

1111
parser = argparse.ArgumentParser(
12-
description='Gashlycrumb',
12+
description='Interactive Gashlycrumb',
1313
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
1414

1515
parser.add_argument('-f',
@@ -35,10 +35,8 @@ def main():
3535
if letter == '!':
3636
print('Bye')
3737
break
38-
elif letter.upper() in lookup:
39-
print(lookup[letter.upper()])
40-
else:
41-
print('I do not know "{}".'.format(letter))
38+
39+
print(lookup.get(letter.upper(), f'I do not know "{letter}".'))
4240

4341

4442
# --------------------------------------------------

07_gashlycrumb/solution1.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ def get_args():
1414

1515
parser.add_argument('letter',
1616
help='Letter(s)',
17-
metavar='str',
17+
metavar='letter',
1818
nargs='+',
1919
type=str)
2020

2121
parser.add_argument('-f',
2222
'--file',
2323
help='Input file',
24-
metavar='str',
24+
metavar='FILE',
2525
type=argparse.FileType('r'),
2626
default='gashlycrumb.txt')
2727

@@ -33,7 +33,10 @@ def main():
3333
"""Make a jazz noise here"""
3434

3535
args = get_args()
36-
lookup = {line[0].upper(): line.rstrip() for line in args.file}
36+
37+
lookup = {}
38+
for line in args.file:
39+
lookup[line[0].upper()] = line.rstrip()
3740

3841
for letter in args.letter:
3942
if letter.upper() in lookup:

07_gashlycrumb/solution2_dict_comp.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#!/usr/bin/env python3
2+
"""Lookup tables"""
3+
4+
import argparse
5+
6+
7+
# --------------------------------------------------
8+
def get_args():
9+
"""get command-line arguments"""
10+
11+
parser = argparse.ArgumentParser(
12+
description='Gashlycrumb',
13+
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
14+
15+
parser.add_argument('letter',
16+
help='Letter(s)',
17+
metavar='letter',
18+
nargs='+',
19+
type=str)
20+
21+
parser.add_argument('-f',
22+
'--file',
23+
help='Input file',
24+
metavar='FILE',
25+
type=argparse.FileType('r'),
26+
default='gashlycrumb.txt')
27+
28+
return parser.parse_args()
29+
30+
31+
# --------------------------------------------------
32+
def main():
33+
"""Make a jazz noise here"""
34+
35+
args = get_args()
36+
lookup = {line[0].upper(): line.rstrip() for line in args.file}
37+
38+
for letter in args.letter:
39+
if letter.upper() in lookup:
40+
print(lookup[letter.upper()])
41+
else:
42+
print(f'I do not know "{letter}".')
43+
44+
45+
# --------------------------------------------------
46+
if __name__ == '__main__':
47+
main()

07_gashlycrumb/solution2.py renamed to 07_gashlycrumb/solution3_dict_get.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ def get_args():
1414

1515
parser.add_argument('letter',
1616
help='Letter(s)',
17-
metavar='str',
17+
metavar='letter',
1818
nargs='+',
1919
type=str)
2020

2121
parser.add_argument('-f',
2222
'--file',
2323
help='Input file',
24-
metavar='str',
24+
metavar='FILE',
2525
type=argparse.FileType('r'),
2626
default='gashlycrumb.txt')
2727

0 commit comments

Comments
 (0)