0

さて、私は本当に私が探していた答えを得ていないので、これを言い換えてみます。文字列の小文字を検出する関数があるかどうかを知る必要があります。私がこのプログラムを書き始めたとしましょう:

s = input('Type a word')

文字列s内の小文字を検出できる関数はありますか?おそらく、それらの文字を別の変数に割り当てるか、小文字または小文字の数を印刷するだけで終わる可能性があります。

それらは私がそれでやりたいことですが、私は小文字の存在を検出する方法に最も興味があります。最も簡単な方法を歓迎します。私はPythonの入門コースにのみ参加しているので、中期的には複雑な解決策を見たくありません。助けてくれてありがとう!

4

2 に答える 2

1

正規表現を使用するのがおそらく最も簡単な方法です。

# Python 3 version

import re

txt = 'MarMaLadE'

# Replace uppercase with "" - an empty string
ltxt,n = re.subn(r'[A-Z]', "", txt) 

print("lower case letters:"," ".join(set(ltxt)))
print("number of lc letters:", n)

を使用すると、set重複する小文字が削除されます。これは望ましくない場合があります。また、どの文字が大文字であるかを検討することもできますが、それでA-Z十分ですか?re.LOCALEフラグも参照してください。

于 2012-10-17T03:02:21.000 に答える
0

これが役に立てば幸いです。Python はインデントに注意を払っていることに注意してください。これはあまり良い解決策ではありませんが、うまくいきます。

def doWhatYouWantToDo(input):
 newString = ""
 alphabet = "abcdefghijklmnopqrstuvwxyz"
 for letter in input:
  if letter in alphabet:
   newString += letter
 return newString

yourString = 'MarMaLadE'
print doWhatYouWantToDo(yourString)
print len(doWhatYouWantToDo(yourString)
于 2012-10-17T02:49:07.240 に答える