-5

私はPythonとコーディング全般に不慣れであり、この問題について支援が必要です。

文字列を入力として受け取り、次の機能を実行するプログラムを作成します。

▪文字列内のスペースの数(カウント)を出力します

▪小文字の数(カウント)を印刷します

▪句読点の数を印刷します

文字列の最後のスペースを見つける方法を示します

ありがとう

4

4 に答える 4

2

私はあなたが遊んで、他のものを練習として残すためのいくつかのアイデアを与えるためにあなたに1つの例を示します:

小文字の数(カウント)を印刷する

>>> my_str = "Hello world!!"
>>> sum(1 for x in my_str if x.islower())
9
于 2012-10-26T05:38:31.037 に答える
1

文字列内の文字をループします。

for char in my_string:
    # test if char is a space and if it succeeds, increment something
    # do the same for your other tests
    pass

stringモジュールには、役立つ定数がいくつかあります。特に:string.punctuation、、、string.lowercaseおよびstring.whitespace演算子を使用してin、文字がこれらの文字セットのいずれかに含まれているかどうかを確認できます。

于 2012-10-26T05:30:50.170 に答える
0

あなたは物事を数えるためfilterに一緒に使うことができます。len例えば:

>>> import string
>>> s="This char -- or that one -- It's a Space."
>>> for k in [string.uppercase, string.lowercase, string.whitespace, string.punctuation]:
...     len(filter(lambda x: x in k, s))
... 
3
23
9
6

string.uppercase, string.lowercase,などの値はstringモジュールで定義されており、モジュールをインポートした後に使用できることに注意してくださいstring。それぞれが文字列値です。例えば:

>>> string.whitespace
'\t\n\x0b\x0c\r '
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

上記では、>>>はPythonインタープリターからのプライマリプロンプトであり、...はインデントされた行のセカンダリプロンプトであることに注意してください。

于 2012-10-26T05:44:04.073 に答える
0
a=input("type strint :")
space=" "
print(a.count(space))
lower=0
for w in a:
    if w.islower()==True:
        lower+=1
print(lower)
punc='!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'    
pmark=0
for p in a:
    if p in punc:
        pmark+=1
print(pmark)

# Demonstrate how you would find the last space in a string
if a[-1]== space:
    print("last space yes")
于 2012-10-26T07:32:05.207 に答える