X Tutup
Skip to content

Commit ee39c3f

Browse files
committed
better names, fixed function order, record random.state
1 parent 5de6e67 commit ee39c3f

14 files changed

+43
-435
lines changed
Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,30 @@
11
#!/usr/bin/env python3
2-
"""Ransom note"""
2+
"""
3+
Author : Ken Youens-Clark<kyclark@gmail.com>
4+
Date : 2020-04-06
5+
Purpose: Create a ransom note
6+
"""
37

48
import argparse
59
import os
610
import random
11+
import sys
712

813

914
# --------------------------------------------------
1015
def get_args():
1116
"""Get command-line arguments"""
1217

1318
parser = argparse.ArgumentParser(
14-
description='Ransom Note',
19+
description='Create a ransom note',
1520
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
1621

1722
parser.add_argument('text', metavar='str', help='Input text or file')
1823

1924
parser.add_argument('-s',
2025
'--seed',
21-
help='Random seed',
22-
metavar='int',
26+
help='Random seed value',
27+
metavar='seed',
2328
type=int,
2429
default=None)
2530

@@ -31,34 +36,40 @@ def get_args():
3136
return args
3237

3338

39+
# --------------------------------------------------
40+
def main():
41+
"""Make a jazz noise here"""
42+
43+
args = get_args()
44+
random.seed(args.seed)
45+
46+
# new_text = ''
47+
# for char in args.text:
48+
# new_text += choose(char)
49+
50+
# print(''.join([choose(char) for char in args.text]))
51+
52+
print(''.join(map(choose, args.text)))
53+
54+
3455
# --------------------------------------------------
3556
def choose(char):
36-
"""Randomly choose an upper or lowercase letter to return"""
57+
"""Return an upper or lowercase char"""
3758

3859
return char.upper() if random.choice([0, 1]) else char.lower()
3960

4061

4162
# --------------------------------------------------
4263
def test_choose():
43-
"""Test choose"""
64+
"""Test choose()"""
4465

66+
state = random.getstate()
4567
random.seed(1)
4668
assert choose('a') == 'a'
4769
assert choose('b') == 'b'
4870
assert choose('c') == 'C'
4971
assert choose('d') == 'd'
50-
random.seed(None)
51-
52-
53-
# --------------------------------------------------
54-
def main():
55-
"""Make a jazz noise here"""
56-
57-
args = get_args()
58-
random.seed(args.seed)
59-
60-
# Method 6: map
61-
print(''.join(map(choose, args.text)))
72+
random.setstate(state)
6273

6374

6475
# --------------------------------------------------

12_ransom/solution1.py

Lines changed: 0 additions & 70 deletions
This file was deleted.

12_ransom/solution1_for_loop.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,13 @@ def choose(char):
5757
def test_choose():
5858
"""Test choose"""
5959

60+
state = random.getstate()
6061
random.seed(1)
6162
assert choose('a') == 'a'
6263
assert choose('b') == 'b'
6364
assert choose('c') == 'C'
6465
assert choose('d') == 'd'
65-
random.seed(None)
66+
random.setstate(state)
6667

6768

6869
# --------------------------------------------------

12_ransom/solution2.py

Lines changed: 0 additions & 70 deletions
This file was deleted.

12_ransom/solution2_for_append_list.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,13 @@ def choose(char):
5757
def test_choose():
5858
"""Test choose"""
5959

60+
state = random.getstate()
6061
random.seed(1)
6162
assert choose('a') == 'a'
6263
assert choose('b') == 'b'
6364
assert choose('c') == 'C'
6465
assert choose('d') == 'd'
65-
random.seed(None)
66+
random.setstate(state)
6667

6768

6869
# --------------------------------------------------

12_ransom/solution3.py

Lines changed: 0 additions & 70 deletions
This file was deleted.

12_ransom/solution3_for_append_string.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,13 @@ def choose(char):
5757
def test_choose():
5858
"""Test choose"""
5959

60+
state = random.getstate()
6061
random.seed(1)
6162
assert choose('a') == 'a'
6263
assert choose('b') == 'b'
6364
assert choose('c') == 'C'
6465
assert choose('d') == 'd'
65-
random.seed(None)
66+
random.setstate(state)
6667

6768

6869
# --------------------------------------------------

0 commit comments

Comments
 (0)
X Tutup