2017-02-13 4 views
1

Mein Problem hier ist, dass ich die Eingabe in beiden Großbuchstaben und den Kleinbuchstaben auch wenn möglich in der Titelform nehmen möchte, wo das erste Zeichen nur groß geschrieben wird. Wenn ich nun im folgenden Code die Eingabe als "Weiß" anstatt als "Weiß" eingabe, wird der Abschnitt "Anderes" aktualisiert. Ich weiß, dass dies korrekt ist, weil die Zeichenfolge nicht mit dem übereinstimmt, was ich auf der Liste habe Aber wie kann ich beide Formen akzeptieren?Wie akzeptiert man Zeichenfolge von Groß- und Kleinbuchstaben in Python

class myclass: 
    sample=0 
    white=0 
    black=0 
    gray=0 
    others=0 
    colorlist=["white", "black", "gray"] 
    def __init__(self): 
     print("what is your name?") 
     myclass.name=input() 
     print("What is the color of your car?") 
     myclass.color= input() 
     myclass.sample=myclass.sample+1 
    def check_color(self): 
      if myclass.color in myclass.colorlist: 
      if myclass.color == myclass.colorlist[0]: 
       myclass.white= myclass.white+1 
      elif myclass.color == myclass.colorlist[1]: 
       myclass.black=myclass.black+1 
      else: 
       myclass.gray = myclass.gray+1 
     else: 
      myclass.others=myclass.others+1 
    def display_result(self): 
     print ("Hello," ,myclass.name) 
     print ("The number of white cars are:", myclass.white) 
     print ("The number of black cars are:", myclass.black) 
     print ("The number of gray cars are:", myclass.gray) 
     print ("The number of other colored cars are:", myclass.others) 
     print ("The number samples are:", myclass.sample) 
var=0 
mylist=[] 
while var<4: 
    mylist.append(myclass()) 
    mylist[var].check_color() 
    mylist[var].display_result() 
    var=var+1 
+6

'myclass.color = input() niedriger()' sollte genug sein: es wil Konvertiere Farbe in Kleinbuchstaben direkt von der Benutzereingabe. –

+0

standardmäßig, 'konvertieren alle Zeichenfolgen in Klein- oder Großbuchstaben, dann führen Vergleich ' –

+0

IT hat funktioniert !! Danke, ich benutzte die Funktion capitalize(). Danke nochmal. Ich bin relativ neu, also hatte diese dumme Frage. –

Antwort

0

Heres der Code:

Diese Lösung mag verwirrend erscheinen, wenn ja, lass es mich wissen.


def beliebiger Kombination (i, n):

#i is what you are inputing, and n is what string you need. 

input_var = i 

need = n 

count = 0 

for x in range (0, len(input_var)): 


    if input_var[x:x + 1] == need[x:x + 1].lower() or input_var[x:x + 1] == need[x:x + 1].upper(): 

     count += 1 

     if count == len(need): 

      return True 

während True:.

phrase = input("enter a phrase : ") 

if anyCombination(phrase, "my name is") == True: 
     print("success") 
Verwandte Themen