- #摩尔斯代码解译编译器
- a = A = '.-'
- b = B = '-...'
- c = C = '-.-.'
- d = D = '-..'
- e = E = '.'
- f = F = '..-.'
- g = G = '--.'
- h = H = '....'
- i = I = '..'
- j = J = '.---'
- k = K = '-.-'
- l = L = '.-..'
- m = M = '--'
- n = N = '-.'
- o = O = '---'
- p = P = '.--.'
- q = Q = '--.-'
- r = R = '.-.'
- s = S = '...'
- t = T = '-'
- u = U = '..-'
- v = V = '...-'
- w = W = '.--'
- x = X = '-..-'
- y = Y = '-.--'
- z = Z = '--..'
- while(True):
- needtran = input('请输入待翻译的英文:') #输入指令
- if needtran.lower() == "over":
- break
- else:
- for each in needtran:
- temp = eval(each)
- print(temp)
-
-
复制代码- 请输入待翻译的英文:apple
- .-
- .--.
- .--.
- .-..
- .
- 请输入待翻译的英文:
复制代码
源代码中有两处错误
一:needtran == 'OVER' or 'over',这句话是这样(needtran=='OVER')or'over'永远为真
二:needtran = eval(needtran)假设输入的是apple,那么eval(’apple‘),for循环并没有起到应尽的义务