1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<code>"""</code>
<code> </code><code>作者:白</code>
<code> </code><code>時間:2018年1月8日</code>
<code> </code><code>功能: 生成随機4位驗證碼(必須由兩個2字母和2個數字組成)</code>
<code>import</code> <code>random</code>
<code>def</code> <code>main():</code>
<code> </code><code>list_num </code><code>=</code> <code>[</code><code>1</code><code>,</code><code>2</code><code>,</code><code>3</code><code>,</code><code>4</code><code>,</code><code>5</code><code>,</code><code>6</code><code>,</code><code>7</code><code>,</code><code>8</code><code>,</code><code>9</code><code>,</code><code>0</code><code>]</code>
<code> </code><code>list_str </code><code>=</code> <code>[</code><code>'a'</code><code>,</code><code>'b'</code><code>,</code><code>'c'</code><code>,</code><code>'d'</code><code>,</code><code>'e'</code><code>,</code><code>'f'</code><code>,</code><code>'g'</code><code>,</code><code>'h'</code><code>,</code><code>'i'</code><code>,</code><code>'j'</code><code>,</code><code>'k'</code><code>,</code><code>'l'</code><code>,</code><code>'m'</code><code>,</code><code>'n'</code><code>,</code><code>'o'</code><code>,</code><code>'p'</code><code>,</code><code>'q'</code><code>,</code><code>'s'</code><code>,</code><code>'t'</code><code>,</code><code>'x'</code><code>,</code><code>'y'</code><code>,</code><code>'z'</code><code>]</code>
<code> </code><code>veri_str </code><code>=</code> <code>random.sample(list_str,</code><code>2</code><code>)</code>
<code> </code><code>veri_num </code><code>=</code> <code>random.sample(list_num,</code><code>2</code><code>)</code>
<code> </code><code>veri_out </code><code>=</code> <code>random.sample(veri_num </code><code>+</code> <code>veri_str,</code><code>4</code><code>)</code>
<code> </code><code>veri_res </code><code>=</code> <code>str</code><code>(veri_out[</code><code>0</code><code>]) </code><code>+</code> <code>str</code><code>(veri_out[</code><code>1</code><code>]) </code><code>+</code> <code>str</code><code>(veri_out[</code><code>2</code><code>]) </code><code>+</code> <code>str</code><code>(veri_out[</code><code>3</code><code>])</code>
<code> </code><code>print</code><code>(veri_res)</code>
<code>if</code> <code>__name__ </code><code>=</code><code>=</code> <code>'__main__'</code><code>:</code>
<code> </code><code>main()</code>
這裡有兩個問題:
1、如何簡化list_str 生成一個a-z的清單,這裡我就用比較笨的方法一個一個列出來了
2、不知道python有沒有一鍵式的函數,生成驗證碼的那種
如知道以上兩個問題的,可以留言告訴我一下,不勝感激!~
對于上面的問題,經過昨天下午的測試和練習以不同函數分開的方法拼接而成,這樣友善後面對于不同子產品的使用。
版本二:
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<code> </code><code>作者:白</code>
<code> </code><code>日期:2018年1月8日</code>
<code> </code><code>功能:利用random/chr()/ord()生成一個4位随機數(包含大小寫字母和數字)</code>
<code>chr(x) 将一個整數轉換為一個字元</code>
<code>ord(x) 将一個字元轉換為它的整數值</code>
<code>import</code> <code>random</code>
<code>veri_list </code><code>=</code> <code>[]</code>
<code>#通過chr()函數取随機大寫字母A-Z</code>
<code>def</code> <code>A_str():</code>
<code> </code><code>for</code> <code>i </code><code>in</code> <code>range</code><code>(</code><code>4</code><code>):</code>
<code> </code><code>veri_num1 </code><code>=</code> <code>random.randint(</code><code>65</code><code>,</code><code>90</code><code>) </code><code>#取值65-90随機一個整數</code>
<code> </code><code>veri_str1 </code><code>=</code> <code>chr</code><code>(veri_num1)</code>
<code> </code><code>veri_list.append(veri_str1)</code>
<code>#通過chr()函數取随機小寫字母a-z</code>
<code>def</code> <code>a_str():</code>
<code> </code><code>veri_num2 </code><code>=</code> <code>random.randint(</code><code>97</code><code>,</code><code>122</code><code>) </code><code># 取值98-122随機一個整數</code>
<code> </code><code>veri_str2 </code><code>=</code> <code>chr</code><code>(veri_num2) </code><code># 轉換小寫字母a-z的随機</code>
<code> </code><code>veri_list.append(veri_str2)</code>
<code>#通過chr()和ord()函數取随機數字0-9</code>
<code>def</code> <code>num_1():</code>
<code> </code><code>veri_num3 </code><code>=</code> <code>random.randint(</code><code>48</code><code>,</code><code>57</code><code>)</code>
<code> </code><code>veri_str3 </code><code>=</code> <code>chr</code><code>(veri_num3)</code>
<code> </code><code>veri_list.append(veri_str3)</code>
<code>#執行主函數</code>
<code> </code><code>A_str()</code>
<code> </code><code>a_str()</code>
<code> </code><code>num_1()</code>
<code> </code><code>veri_res </code><code>=</code> <code>random.sample(veri_list,</code><code>4</code><code>)</code>
<code> </code><code># print(veri_res)</code>
<code> </code><code>print</code><code>(</code><code>str</code><code>(veri_res[</code><code>0</code><code>]) </code><code>+</code> <code>str</code><code>(veri_res[</code><code>1</code><code>]) </code><code>+</code> <code>str</code><code>(veri_res[</code><code>2</code><code>]) </code><code>+</code> <code>str</code><code>(veri_res[</code><code>3</code><code>]))</code>
<code></code>
本文轉自 yuri_cto 51CTO部落格,原文連結:http://blog.51cto.com/laobaiv1/2058595,如需轉載請自行聯系原作者