
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, 2014exercise1601.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, 2014exercise1602.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, 2014exercise1603.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, 2014the end
沒有留言:
張貼留言