Module: (Python) 条件付きループ ステートメント - WHILE


Problem

6/21

数字の桁

Theory Click to read/hide

タスク

数値を入力し (3,000,000 未満にする)、その桁数を決定する必要があります。
 
解決策のアイデア
数値の最後の桁を順番に切り取るだけです (これは、整数の 10 による除算を使用して数値を 10 倍減らすことで実行できます)。そのたびにカウンターを増やす必要があります。

その結果、番号の桁をすべて切り取った後、カウンターで番号を取得する
ことになります。
このアルゴリズムは次のように定式化できます。
数値が 0 になるまで、数値を 10 ずつ減らし、そのたびにカウンターを 1 ずつ増やします。
  <頭> 数値 (n) カウンター <本体>
プログラムは次のようになります。 n = int(入力()) カウント = 0 n != 0 の間: カウント += 1 n = n // 10 print("数値 -", n, "含む", count, "桁")
このプログラムを暗記する必要があるからです。それに基づいて、数字の桁の処理に関連する他の多くのタスクが解決されます。

Problem

プログラムを実行します。

彼女の仕事の成果を見て
ください。 出力フレーズは大丈夫ですか?この問題を解決する方法を考えてください。
123 0
12 1
1 2
0 3
1
n = int(input())          
2
count = 0          
3
while n != 0:          
4
  count += 1          
5
  n = n // 10          
6
print("Number -", n, "contains", count, "digits")          

     

Program check result

To check the solution of the problem, you need to register or log in!