Python 入門指南 V2.00 - 單元 16 範例及練習程式碼



encrypt03.py


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# 使用 randint()
import random
 
# 定義 Encrypt 類別
class Encrypt:
   def __init__(self):
      self.setcode()
 
   def setcode(self):
      # 取得 a 、 b 值
      a = random.randint(0, 9)
      b = random.randint(0, 9)
       
      # 利用公式建立密碼表
      self.code = ""
      c = "a"
      i = 0
      while i < 26:
         x = c
         y = ord(x) * a + b
         m = y % 26
         self.code += chr(m + 97)
         c = chr(ord(c) + 1)
         i += 1
 
   def getcode(self):
      return self.code
 
   # 編碼的方法
   def toEncode(self, str):
      pass
 
   # 解碼的方法
   def toDecode(self, str):
      pass
 
# 測試部分
if __name__ == '__main__':
   e = Encrypt()
   print()
   print(e.getcode())
   print()
  
# 檔名: encrypt03.py
# 作者: Kaiching Chang
# 時間: July, 2014

exercise1601.py


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
answer = "1234"
 
def test(p1, p2):
   if p1 == p2:
      return True
   else:
      return False
 
if __name__ == "__main__":
   guess = input(": ")
   if test(guess, answer):
      print("Right!!")
   else:
      print("Wrong!!")
  
# 檔名: exercise1601.py
# 作者: Kaiching Chang
# 時間: July, 2014

exercise1602.py


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
answer = "1234"
 
def ab_counter(answer, guess, ab):
   a = 0
   b = 0
   for i in guess:
      if i in answer:
         if guess.index(i) == answer.index(i):
            a += 1
         else:
            b += 1
 
   ab[0] = a
   ab[1] = b
 
if __name__ == "__main__":
   guess = input(": ")
   abcounter = [0, 0]
   ab_counter(answer, guess, abcounter)
   if abcounter[0] == 4:
      print("Right!!")
   else:
      print(str(abcounter[0]) + "A" + str(abcounter[1]) + "B")
  
# 檔名: exercise1602.py
# 作者: Kaiching Chang
# 時間: July, 2014

exercise1603.py


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
answer = "1234"
 
def ab_counter(answer, guess, ab):
   a = 0
   b = 0
   for i in guess:
      if i in answer:
         if guess.index(i) == answer.index(i):
            a += 1
         else:
            b += 1
 
   ab[0] = a
   ab[1] = b
 
if __name__ == "__main__":
   abcounter = [0, 0]
   while True:
      guess = input(": ")
      ab_counter(answer, guess, abcounter)
      if abcounter[0] == 4:
         print("Right!!")
         break
      else:
         print(str(abcounter[0]) + "A" + str(abcounter[1]) + "B")
  
# 檔名: exercise1603.py
# 作者: Kaiching Chang
# 時間: July, 2014

the end

沒有留言: