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



encrypt03.py


# 使用 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


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


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


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

沒有留言: