【白俊】文字列解析10820号Pythonデータ構造
📌考える
どのくらいの文字列が入っているか分からない場合、inputをどのように受信するか.
->どのくらいの文字列が入っているか分からないのでsys.stdin.readline()を使用します.
-> sys.stdin.readline()は、書き換え文字("n")を受信します.消去のためにrstrip(「n」)を使用します.
小文字、大文字、数字、スペースはどのように区別しますか?
->メソッド1.専用関数(islower()、isupper()、isdigit()を使用します.
->メソッド2.」a"<=比較<="z","A"<=比較<="Z"
📌私が書いたコード
import sys
while True:
s = sys.stdin.readline().rstrip('\n')
if not s:
break
small, capital, num, space = 0, 0, 0, 0
for i in range(len(s)):
if s[i].islower():
small += 1
elif s[i].isupper():
capital += 1
elif s[i].isdigit():
num += 1
else:
space += 1
print(small, capital, num, space)
📌に答える
繰り返し文の入力はinput()ではなくsysです.stdin.readline()を使用して処理速度を向上させます.
sys.stdin.readline()は改行記号("n")を受信するのでrstrip("n")を使用して削除します.
sがメールを受け取っていない場合は、終了します.
💡 rstrip():a変数で、右端のvvを削除します.
a = abcdvv -> a.rstrip('vv') -> abcd
import sys
while True:
s = sys.stdin.readline().rstrip('\n')
if not s:
break
💡 islower():小文字はtrueまたはfalseを返します.
💡 isupper():大文字のTrueまたはFalseを返します.
💡 isdigit():数値の場合はtrueまたはfalseを返します.
small, capital, num, space = 0, 0, 0, 0
for i in range(len(s)):
if s[i].islower():
small += 1
elif s[i].isupper():
capital += 1
elif s[i].isdigit():
num += 1
else:
space += 1
Reference
この問題について(【白俊】文字列解析10820号Pythonデータ構造), 我々は、より多くの情報をここで見つけました https://velog.io/@tkdduf727/백준-알파벳-찾기-1919번-파이썬-Python-자료구조テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol