2014-08-28 79 views
-1
#when I run it, it says something about a function discrimination being at 0x0E.... 

import string 
import sys 

code = raw_input("Enter your code: ") 

translation = {"a": "d", "b": "e", "c": "f", "d": "g", "e": "h", "f": "i", "g": "j", "h": "k", "i": "l", "j": "m", "k": "n", "l": "o", "m": "p", "n": "q", "o": "r", "p": "s", "q": "t", "r": "u", "s": "v", "t": "w", "u": "x", "v": "y", "w": "z", "x": "a", "y": "b", "z": "c"} 

lettered_code = list(code) 

def translate(lettered_code): 
    newanswer = "" 
    for letters in lettered_code: 
     newanswer += translation[letters] 
    return newanswer 

def checking(translate): 
    return all((char in string.letters) for char in translate) 

def discrimination(translate): 
    if checking == False: 
     print "Only letters!" 
    else: 
     print translate(lettered_code) 
    sys.exit() 

print discrimination 
+2

請格式化您的代碼併發布** exact **錯誤消息。 – 2014-08-28 01:06:57

+0

'print discrimination(translate('asdf'))' – inspectorG4dget 2014-08-28 01:07:49

+0

「功能區分在0x01E8D5F0」 – Merg 2014-08-28 01:09:21

回答

1

可以使用isalpha方法來檢查它是否是一個字母

translation = {"a": "d", "b": "e", "c": "f", "d": "g", "e": "h", "f": "i", "g": "j", "h": "k", "i": "l", "j": "m", "k": "n", "l": "o", "m": "p", "n": "q", "o": "r", "p": "s", "q": "t", "r": "u", "s": "v", "t": "w", "u": "x", "v": "y", "w": "z", "x": "a", "y": "b", "z": "c"} 

s = 'this is a test 123 that has numbers456 in the wr48ds' 
newS = '' 
for letter in s: 
    if letter.isalpha(): 
     newS += translation[letter] 
    else: 
     newS += letter 

>>> newS 
'wklv lv d whvw 123 wkdw kdv qxpehuv456 lq wkh zu48gv' 
+0

我不認爲他想讓數字通過,所以也許不需要else語句來將它們添加到新字符串中...也許:打印「只有字母!」和exit() – whitebeard 2014-08-28 02:38:56

0

print discrimination正在打印功能對象!

你不應該調用轉換爲歧視的一種變量......像這樣:

def discrimination(): 
    if checking == False: 
     print "Only letters!" 
    else: 
     print translate(lettered_code) 
    sys.exit() 


discrimination() # don't need the print statement here either 

但這隻會讓你那麼遠,它的工作原理,只要你只輸入字母.. 。 您應該考慮重做所有這些功能。

相關問題