python
s=0
f=0
while s<=2 and f<=3:
a=input()
if a=="ball":
f+=1
if f==4:
print("fourball!")
break
else:
print("ball!")
elif a=="strike": s+=1 if s==3: print("out!") break else: print("strike!")
上記の様にストライクポイントが三つたまる、またはフォアボールが4つたまるまで判定を繰り返す、どちらかをクリアしたらブレイクするというようなコードを書いてみたのですが条件分岐が多くてもう少しきれいに書けたのではと思いました。
ただ、書いてるときはこれしか思いつきませんでした。
特に新しい構文を使うわけでもなく、もっとスマートな書き方は可能でしょうか?
コード部分はMarkdownの記法を使ってコードとして認識できるようにしてください。Pythonはインデントが重要な言語であるため、今のコードを正確に読むことができる人はいません。https://teratail.com/help/question-tips にある「Markdownを利用しましょう」や、質問を記入するときの左下にある「Markdown記法とは」を参考にしてください。質問は編集することができます。
回答1件
あなたの回答
tips
プレビュー