2016-02-23 110 views
-2

如何讓用戶只輸入字符串。如果沒有這樣的事情,我該如何設置它,以便如果他們輸入任何其他東西,它會要求用戶重新進入。只能輸入字符串

這是我曾嘗試(它不工作):你可以這樣做

name = raw_input("Enter name: ") 
if name != str(name): 
    name = raw_input("Error, please re-enter : ") 
+0

通過字符串你的意思是隻包含字母,如果有的話,是否有任何外國字符的要求? –

+0

你是什麼意思*「只輸入字符串」*?用戶的'raw_input' **總是一個字符串**。 – jonrsharpe

+0

是的,但我只希望用戶輸入文本,而不是其他數字,如數字 – Hassan

回答

0

一種方法是檢查用戶輸入然後再繼續。

在你的代碼會說:

name = raw_input("Enter name: ") 
    if type(name) != int   #if input isn't int then it's likely to be text so proceed 
     if name != str(name): 
     name = raw_input("Error, please re-enter : ") 

可以使上述的循環,使你不必重寫代碼

這工作我:

x = input("enter letters only") 
if type(x) == int: 
    print "you entered number" 
else: 
    print "you entered letters" 

只有當用戶輸入像「湯姆」不是湯姆的文字時,纔有效用

1
while True: 
    userInput = raw_input("Enter a string only") 
    if type(userInput) not str: 
     continue 
    else: 
     print "You entered a STR data type. Congratulations" 
     break