2015-10-13 56 views
-3

這是我面臨的問題。誰能幫如何使輸入變量只有字母表

name=input("What is your name?") 
name= input.lower() 

當它運行,這是會發生什麼吧

What is your name?Bob 

Traceback (most recent call last): 
    File "E:\eval task 1 GCSE.py", line 6, in <module> 
    name= input.lower() 
AttributeError: 'builtin_function_or_method' object has no attribute 'lower' 

任何人都可以解決這個問題吧。我需要確保我只能輸入字母表中的字母作爲我的名字輸入。任何人都可以告訴我如何做到這一點。非常讚賞

+5

你獲得與'input'功能的用戶輸入,然後將其存儲在一個變量'name'。然後嘗試調用不存在的'input'函數的'lower'方法。將'input.lower()'改爲'name.lower()'。 –

+0

你的意圖不完全清楚。如果包含數字字符,您是否需要直接拒絕輸入?或者你想保持輸入,但只是過濾非字母字符? – foundling

+0

基本上我想要一個名爲只接受字母表中的字母的變量。如果他們輸入一個整數,而不是我希望它停止和打印這我不是一個有效的名稱 – GamingKing720

回答

4

通話較低的名稱,而不是:

name = name.lower() 
+0

瑞恩你能幫我一下嗎?現在,它的工作原理,我想知道如何進行驗證,以便如果他們輸入一個整數,我可以說這是無效的。任何想法 – GamingKing720

+0

做作業? ;-)閱讀: https://docs.python.org/2/library/stdtypes.html#string-methods – tenwest

+0

looooooooool謝謝 – GamingKing720

0

試試這個:

username=input("What is your name?").lower() 
for char in username: 
    if not char.isalpha(): 
     print "invalid username" 
     break 
+0

非常感謝很多基因 – GamingKing720