From 37f1776259739a58f79aedf909b08461ef18f315 Mon Sep 17 00:00:00 2001 From: coffeephantom Date: Fri, 18 Mar 2016 13:34:14 +0800 Subject: [PATCH 1/4] solution to first question --- coffeephantom/0001/generate_copoun.py | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100755 coffeephantom/0001/generate_copoun.py diff --git a/coffeephantom/0001/generate_copoun.py b/coffeephantom/0001/generate_copoun.py new file mode 100755 index 00000000..5084781e --- /dev/null +++ b/coffeephantom/0001/generate_copoun.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- +import random + + +# 题目中对于激活码的格式并没有要求,目前采取这种策略 +def generate_copoun(): + copoun = [] + copoun.append(str(random.randint(0, 200))) + return copoun From 6b4c5bdd7a39a01a86dd448a549da2ac8c77bd12 Mon Sep 17 00:00:00 2001 From: coffeephantom Date: Fri, 18 Mar 2016 14:19:30 +0800 Subject: [PATCH 2/4] fix the bug that copoun could be duplicated --- coffeephantom/0001/generate_copoun.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/coffeephantom/0001/generate_copoun.py b/coffeephantom/0001/generate_copoun.py index 5084781e..a8150a1b 100755 --- a/coffeephantom/0001/generate_copoun.py +++ b/coffeephantom/0001/generate_copoun.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- -import random # 题目中对于激活码的格式并没有要求,目前采取这种策略 def generate_copoun(): copoun = [] - copoun.append(str(random.randint(0, 200))) + for number in range(0, 200): + copoun.append(str(number)) return copoun From da1047efddc73921870f8a2ca209288fc2a0397a Mon Sep 17 00:00:00 2001 From: coffeephantom Date: Mon, 21 Mar 2016 16:17:45 +0800 Subject: [PATCH 3/4] add note --- coffeephantom/0001/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100755 coffeephantom/0001/README.md diff --git a/coffeephantom/0001/README.md b/coffeephantom/0001/README.md new file mode 100755 index 00000000..af73e57a --- /dev/null +++ b/coffeephantom/0001/README.md @@ -0,0 +1,3 @@ +## 第一次实现 + +题目中并没有根据激活码的格式说出更加详细的需求,因此简单的想法,就是用1-200的数字来作为激活码,但是这样实现可能存在一些问题。 \ No newline at end of file From 8ee696ca426c9503aab0007dd227f204aec7303e Mon Sep 17 00:00:00 2001 From: coffeephantom Date: Mon, 21 Mar 2016 19:52:27 +0800 Subject: [PATCH 4/4] update implementation --- coffeephantom/0001/README.md | 7 ++++++- coffeephantom/0001/generate_copoun.py | 28 ++++++++++++++++++++++----- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/coffeephantom/0001/README.md b/coffeephantom/0001/README.md index af73e57a..8ae2ce45 100755 --- a/coffeephantom/0001/README.md +++ b/coffeephantom/0001/README.md @@ -1,3 +1,8 @@ ## 第一次实现 -题目中并没有根据激活码的格式说出更加详细的需求,因此简单的想法,就是用1-200的数字来作为激活码,但是这样实现可能存在一些问题。 \ No newline at end of file +题目中并没有根据激活码的格式说出更加详细的需求,因此简单的想法,就是用1-200的数字来作为激活码,但是这样实现可能存在一些问题。 + +## 修改 +网上搜索了激活码的一般规则: +激活码一般是由26个大写字母和10个数字任意组合而成,长度为12位或者16位的居多。一个激活码里的字符是可以重复的,而且必须要保证激活码是不能重复的。 +以16位去实现。 \ No newline at end of file diff --git a/coffeephantom/0001/generate_copoun.py b/coffeephantom/0001/generate_copoun.py index a8150a1b..ed5b7c77 100755 --- a/coffeephantom/0001/generate_copoun.py +++ b/coffeephantom/0001/generate_copoun.py @@ -1,9 +1,27 @@ # -*- coding: utf-8 -*- +import string +import random -# 题目中对于激活码的格式并没有要求,目前采取这种策略 def generate_copoun(): - copoun = [] - for number in range(0, 200): - copoun.append(str(number)) - return copoun + copoun_list = [] + element = [] + character = string.ascii_letters + digit = string.digits + for letter in character: + element.append(letter) + + for num in digit: + element.append(num) + print element + + for i in range(0, 200): + copoun = '' + for count in range(0, 15): + copoun += random.choice(element) + if copoun not in copoun_list: + copoun_list.append(copoun) + + return copoun_list + +print generate_copoun() \ No newline at end of file