2017-05-16 91 views
1

我目前正在編寫一些要求用戶名的python代碼。我需要程序來驗證用戶的輸入是否是字符串。如果它是一個字符串,循環會中斷,程序將繼續。如果輸入不是一個字符串(如浮點數,整數等),它將循環並要求用戶輸入一個有效的字符串。我知道你可以在檢查整數時使用下面的代碼;在Python中的數據類型驗證 - 字符串

while True: 
try: 
    number = int(input("Plese enter a number: ")) 
    break 
except ValueError: 
    print("Please enter a valid integer") 

我在想我可以用這樣的東西來檢查一個字符串;

while True: 
try: 
    word = str(input("Plese enter a string: ")) 
    break 
except ValueError: 
    print("Please enter a valid string") 

但據我瞭解,在STR()只是用戶的輸入轉換爲字符串,在輸入的數據無關。

請幫忙!

感謝

+1

我不完全明白你想要做什麼。什麼是你的有效字符串? – ozgur

+1

[如何檢查變量的類型是否是字符串?]可能的重複(http://stackoverflow.com/questions/4843173/how-to-check-if-type-of-a-variable-is-string) – ozgur

+0

所以,我想讓程序檢查用戶是否輸入了一個字符串。如果是這樣,它將打破代碼中顯示的循環。如果用戶輸入了另一種類型的數據(整數,浮點等),它會告訴他們再試一次。 –

回答

0

基礎上的評論,它看起來像你想檢查輸入只包含字母字符。你可以使用.isalpha()方法:

while True: 
    word = input("Please enter a string: ") 
    if word.isalpha(): 
     # Do something with valid input. 
     break 
    else: 
     print("Please enter a valid string")  
+0

是的!這工作!謝謝!尋求幫助(: –