2017-03-28 60 views
-4

我是堆棧溢出的新手,這是我的第一個問題。我在做如果python循環,我有一個問題,我不知道如何編寫它的程序。問題是接受一個字符,檢查它是一個數字或一個字母或一個特殊字符並顯示適當的消息。我已經嘗試過,但它不起作用。有沒有人有任何關於如何編寫程序的建議?編寫一個標識用戶輸入字符的程序

+6

歡迎來到Stack Overflow。請閱讀[如何問](http://stackoverflow.com/help/how-to-ask)和[編輯](http://stackoverflow.com/posts/43061669/edit)你的問題。 – kazemakase

+1

你嘗試過了什麼沒有用?向我們展示您的代碼!並閱讀[問]。 –

回答

1

這可以像下面顯示的代碼一樣,接受來自用戶的字符並檢查其類型。我只是檢查字母,數字和空間休息考慮它作爲特殊字符。您可以根據您的要求進行更新。

input1 = raw_input("> Enter the character you want : ") 

if input1.isalpha(): 
    print "YOu entered an alphabet" 
elif input1.isdigit(): 
    print "YOu entered a number" 
elif input1.isspace(): 
    print "YOu entered a blank space" 
else: 
    print "you entered a special character" 
+0

不要破壞你的泡泡,但**這不支持**'浮點類型'。當鍵入不同數據類型的兩個字符時,它將它們讀爲特殊字符。 – mondieki

0

最佳做法,試試這個:

userInput = raw_input("Enter a string or a character: ") 

if userInput.isdigit(): 
    print ("Number") 
elif type(userInput).__name__=='str': 
    if userInput.isalpha(): 
     print ("Alphabet.") 
    else: 
     try: 
      left,right = userInput.split('.') 
      l_no, r_no = int (left), int (right) 
      print ("{}.{} is a float".format(left, right)) 
     except: 
      if any(char.isdigit() for char in userInput): 
       print ("{} has mixed characters.".format(userInput)) 
      else: 
       print ("Special character(s).") 

浮點數據類型被確定爲數字了。乾杯。

但是從你的問題閱讀,因爲你只需要一個字符,NMN's answer工作得很好。

+0

OP的要求是識別單個字符的字符類:「接受** a **字符」。 –

+0

@ PM2Ring。謝謝。正式注意! – mondieki

相關問題