2017-03-28 12 views
-4

eingegeben wurde Ich bin neu zu Stack-Überlauf und das ist meine erste Frage. Ich mache, wenn Schleifen in Python und ich habe eine Frage, und ich weiß nicht, wie man das Programm dafür schreiben. Die Frage lautet AKZEPTIEREN SIE EINEN CHARAKTER, PRÜFEN SIE, OB SIE EIN DIGIT ODER EIN ALPHABET ODER EIN BESONDERER CHARAKTER IST, UND GEBEN SIE EINE GEEIGNETE NACHRICHT AN. Ich habe es versucht, aber es funktioniert nicht. Hat jemand einen Vorschlag, wie man das Programm schreibt?Schreiben eines Programms, das das Zeichen identifiziert, das vom Benutzer

+6

Willkommen bei Stack Overflow. Bitte lesen Sie [how to ask] (http://stackoverflow.com/help/how-to-ask) und [edit] (http://stackoverflow.com/posts/43061669/edit) Ihre Frage. – kazemakase

+1

Was hast du versucht, das hat nicht funktioniert? Zeig uns deinen Code! Und lies [fragen]. –

Antwort

1

Dies kann wie der unten gezeigte Code sein, ein Zeichen vom Benutzer akzeptieren und auf seinen Typ prüfen. Ich habe gerade nach Alphabeten, Zahlen und Leerzeichen Ausschau gehalten, da es sich um Sonderzeichen handelt. Sie können dasselbe mit Ihrer Anforderung aktualisieren.

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

Um Ihre Blase nicht zu platzen, aber ** das unterstützt nicht ** 'Float-Typen'. Wenn zwei Zeichen mit unterschiedlichen Datentypen eingegeben werden, werden sie als Sonderzeichen gelesen. – mondieki

0

Für Best Practice, versuchen Sie dies:

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).") 

Float-Datentypen werden als Zahlen zu identifizieren. Prost.

Aber lesen von Ihrer Frage, da Sie nur ein Zeichen benötigen, NMN's answer funktioniert gut.

+0

Die Anforderung des OP besteht darin, die Zeichenklasse eines einzelnen Zeichens anzugeben: "akzeptiert ** ein ** Zeichen". –

+0

@ PM2Ring. Vielen Dank. Zur Kenntnis genommen! – mondieki

Verwandte Themen