6

そこで、ユーザーが入力した文字列の文字数をカウントするプログラムを作成しようとしていますが、ユーザーが入力したスペースを破棄したいと考えています。

def main():
    full_name = str(input("Please enter in a full name: ")).split(" ")

    for x in full_name:
        print(len(x))


main()

これを使用すると、スペースなしで各単語の文字数を取得できますが、各数値を合計して合計を出力する方法がわかりません。

4

8 に答える 8

4

sumジェネレーター式で使用します。

>>> text = 'foo  bar  spam'
>>> sum(len(x) for x in text.split())
10

または:str.translate_len

>>> from string import whitespace
>>> len(text.translate(None, whitespace)) #Handles all types of whitespace characters
10
于 2013-10-29T21:01:02.027 に答える
1

なぜできないのですか:

>>> mystr = input("Please enter in a full name: ")
Please enter in a full name: iCodez wrote this
>>> len(mystr.replace(" ", ""))
15
>>> len(mystr)
17
>>>

これは、文字列からスペースを引いた長さを取得します。

于 2013-10-29T21:01:48.473 に答える
0

元のコードにできるだけ近いコード:

def main():
    full_name = input("Please enter in a full name: ").split()
    total = 0
    for x in full_name:
        total += len(x)
    print(total)

しかし、私len(full_name) - full_name.count(' ')はより良いと思います。

于 2013-10-29T21:08:45.050 に答える