Skip to content

Commit 2fec9a8

Browse files
committed
Project 1 (hello) with the beginnings of help messages and support for arguments
1 parent 7021290 commit 2fec9a8

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

‎01_hello/hello.py‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/usr/bin/env python
2+
# Purpose: Say hello
3+
4+
import sys
5+
6+
def usage(message:str = 'Program run without any arguments') -> None:
7+
print(message + '\nusage: hello.py NAME')
8+
9+
def greet(name:str = 'World') -> str:
10+
return f'Hello, {name}!'
11+
12+
def test_greet() -> None:
13+
assert greet() == 'Hello, World!'
14+
assert greet('Terra Firma') == 'Hello, Terra Firma!'
15+
16+
def main() -> None:
17+
if len(sys.argv) == 1:
18+
usage()
19+
sys.exit(1)
20+
elif len(sys.argv) > 2:
21+
usage('Program called with too many arguments')
22+
sys.exit(1)
23+
24+
print(greet(sys.argv[1]))
25+
26+
if __name__ == '__main__':
27+
main()

0 commit comments

Comments
 (0)