Skip to content

Commit bf61919

Browse files
committed
solution charpter 8
1 parent 3af7cf0 commit bf61919

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

08_apples_and_bananas/apples.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#! /usr/bin/env python3
2+
3+
import argparse
4+
import os
5+
6+
vowels=['a', 'e', 'i', 'o', 'u']
7+
8+
def get_args():
9+
parser = argparse.ArgumentParser(
10+
prog='apples.py',
11+
description='Apples and Bannanas')
12+
13+
parser.add_argument('text',
14+
metavar='text',
15+
help='Input text or file')
16+
parser.add_argument('-v', '--vowel',
17+
metavar='vowel',
18+
choices= vowels,
19+
default='a',
20+
help='The vowel to substitute (default: a)')
21+
22+
return parser.parse_args()
23+
24+
def replace_text(text, new_vowel):
25+
26+
for vowel in vowels:
27+
text = text.replace(vowel, new_vowel)
28+
29+
for vowel in vowels:
30+
text = text.replace(vowel.upper(), new_vowel.upper())
31+
32+
return text
33+
34+
def main():
35+
36+
37+
args = get_args()
38+
39+
new_vowel = args.vowel
40+
text = args.text
41+
42+
text = open(text).read().rstrip() if os.path.isfile(text) else text
43+
44+
print(replace_text(text, new_vowel))
45+
46+
47+
if __name__ == '__main__':
48+
main()
49+

0 commit comments

Comments
 (0)