ユーザーに4桁の数字を入力してもらい、「数字が4桁であること」「数字であること」を判断して、
もし該当しなければ繰り返し処理するというプログラムです。
isok = False while isok == False: b = input("ここに入力してください") if len(b)!=4: print("4桁を入力してください") else: kazuok = True for i range(4): if(b[i]<"0")or(b[i]>"9") print("数字を入力してください") kazuok = False break if kazuok: isok = True print(b[0]) print(b[1]) print(b[2]) print(b[3])
例文には、↑のように書いてありました。
else以下の処理が理解出来ません。 ①「for i range(4): で i に [0]~[3]までを入れて繰り返し処理をします。 ② 数字でない場合は、print("数字を入力してください") と出力する。」 ③ 4桁だった場合は、else以下の処理をする。 **この先が分かりません。↓↓↓ 質問①「kazok = False」 のはどのような時に発動するのか? 質問②「break」は いつ発動するのか? 質問③ 何故 if文 なのに、条件式ではなく「kazok」という変数なのか? どこが理解出来ていなくて、この問題に躓いているのかが分かりません。 急に分からなくなってしまいました。 質問が少し分かりずらいかと思いますが、ご回答よろしくお願い致します。 追記 参考書籍「いちばんやさしいPython入門」 ページ数 P143
回答3件
あなたの回答
tips
プレビュー