"forループ"を使用して入力内の特定の文字の割合を計算する方法がわかりません。私は文字列のXとYの量を計算し、出力をパーセントで出力したいが、 "for loop"を使用したい。forループを使用してパーセント値を計算する
これは私がこれまで行うことができたものです。
def percent(string):
counter = 0
for stuff in string:
if "X" in string:
counter = counter + 1
if "Y" in string:
counter = counter + 1
XY_percent = (counter/len(string)) * 100
return "{}%".format(int(XY_percent))
私はこれだけのために「forループ」を使用します。
あなたは正しい軌道にいるようです。最初のforループは、あなたの体でリターンを持っているので、あなたの場合は何もしません(あなたはどこでも 'stuff'変数を使用しません)。私はそれから始めます。 – Shadow
私は、 'return'が実際に' for'ループの内側にあるのか疑いがあります。それはちょうどインデントエラーです。 (OPはコピー/貼り付け時に字下げが正しく行われなかったので、後でエディタが来て誤ってそれを動かしました) – smarx
あなたの質問とは無関係ですが、 'str.format'はパーセンテージを直接サポートしています。 '' {:.0%} '。format(0.1) 'を使うと、例えば" 10% "という文字列を作るでしょう。 100を掛けて整数に変換する必要はありません。 – wim