2016-04-11 4 views
-2

Ich habe ein Programm auf pycharm erstellt, mit dem der Benutzer eine Nummer eingeben kann, so dass eine Liste von Elementen erstellt werden kann. Das Programm ist wie folgt:Hinzufügen von Länge zu meinem for-Schleife-Programm

item = int(input("How many items do you want in your list? ")) 
stringList = [] 
for i in range(1, item +1): 
    stringList.append(input("Enter String {0}: ".format(i))) 
print(stringList) 

Ein Beispiel dafür, was Ausgabe zeigt könnte wie folgt aussehen:

How many items do you want in your list? 3 
Enter String 1: apple 
Enter String 2: banana 
Enter String 3: grape 
['apple', 'banana', 'grape'] 

Was ich will jetzt zu tun ist, um die Länge der einzelnen Strings hinzuzufügen, wurde vom Benutzer eingegeben. Ich bin ziemlich neu in Python und frage mich, wie man die Länge addieren würde, so dass die Ausgabe in etwa so sein würde:

Enter String 1: apple 
Enter String 2: banana 
Enter String 3: grape 
['apple', 'banana', 'grape'] 
The length of the string 'apple' is 5 
The length of the string 'banana' is 6 
The length of the string 'grape' is 5 
The total length of all strings is 21 
+2

Was versucht hat, du? Ich kann bestätigen, es ist möglich. – miradulo

+0

Ich habe verschiedene Dinge ausprobiert. Ich sitze seit zwei Stunden hier und probiere verschiedene Dinge aus, aber ich habe es nicht annähernd herausgefunden. Gehirne bei Überlastung im Moment. Wie ich schon sagte, ich bin ziemlich neu in der ganzen Programmierung und alles und ich schätze das Feedback, das ich bekomme. – user2388433

+0

Wenn Sie eine Reihe von Dingen ausprobiert haben, dann ist die relevanteste Sache, die Sie in Ihren Beitrag aufnehmen könnten, die Dinge, die Sie versucht haben => was nicht funktioniert => warum _Sie denken_ Ihr Versuch funktioniert nicht. Anstatt nur zu wiederholen, dass Sie neu im Programmieren sind und Hilfe zu schätzen wissen. – miradulo

Antwort

0

Verwenden len(string_var)

string_var

Sie Dies kehrt die Länge der Zeichenfolge Fügen Sie Ihren Code wie folgt hinzu:

for i in range(1, item +1): 
    stringList.append(input("Enter String {0}: ".format(i))) 
print(stringList) 

total_str_length = 0 

for each_string in stringList: 
    print("The length of the string '%s' is %s") %(each_string, len(each_string)) 
    total_str_length += len(each_string) 

print("The total length of all strings is %s") % total_str_length 

Dies wird die einzelnen Zeichenfolgen in stringList als erwartete Ausgabe formatiert.

-1

Die Antwort von Manish ist am einfachsten zu verstehen, sondern als eine Zeile Lösung, könnten Sie dies tun, die zusammen alles fügt hinzu, nachdem Sie die Liste erstellt haben:

total_length = sum(len(word) for word in stringList) 
0

Dies ist die Antwort, die ich beenden up mit nach dem Feedback Tweaking gegeben:

item = int(input("How many items do you want in your list? ")) 
itemnum = [] 
for i in range(1, item +1): 
    itemnum.append(input("Enter String {0}: ".format(i))) 
print(itemnum) 

totalLength = 0 

for eachString in itemnum: 
    print("The length of the string",(eachString), "is :", len(eachString)) 
    totalLength += len(eachString) 
print("The total length of all strings is:", totalLength) 

die heraus gesetzt war:

How many items do you want in your list? 4 
Enter String 1: red 
Enter String 2: blue 
Enter String 3: green 
Enter String 4: yellow 
['red', 'blue', 'green', 'yellow'] 
The length of the string red is : 3 
The length of the string blue is : 4 
The length of the string green is : 5 
The length of the string yellow is : 6 
The total length of all strings is: 18 
Verwandte Themen