現在、Python を使用して、2 桁の数字のユーザー入力を受け入れ、数字を 1 行に出力するプログラムを作成しています。
例: 私のプログラムはユーザーから数値を取得します。27 を使用します。
プログラムで「1 桁目は 2」と「2 桁目は 7」を出力できるようにしたいです。モジュール (%) を使用する必要があることはわかっていますが、これは初めてで、少し混乱しています。
現在、Python を使用して、2 桁の数字のユーザー入力を受け入れ、数字を 1 行に出力するプログラムを作成しています。
例: 私のプログラムはユーザーから数値を取得します。27 を使用します。
プログラムで「1 桁目は 2」と「2 桁目は 7」を出力できるようにしたいです。モジュール (%) を使用する必要があることはわかっていますが、これは初めてで、少し混乱しています。
これを試して:
val = raw_input("Type your number please: ")
for i, x in enumerate(val, 1):
print "#{0} digit is {1}".format(i, x)
あなたの質問からは%
、文字列の置換に使用するのか、それとも%
残りの部分に使用するのかが明確ではありませんでした.
完全を期すために、整数でモジュラス演算子を使用する数学的な方法は次のようになります。
>>> val = None
>>> while val is None:
... try:
... val = int(raw_input("Type your number please: "))
... except ValueError:
... pass
...
Type your number please: potato
Type your number please: 27
>>> print 'The first digit is {}'.format(val // 10)
The first digit is 2
>>> print 'The second digit is {}'.format(val % 10)
The second digit is 7
Pythonをコーディングする別の方法:
val = raw_input("Type your number please: ")
for i in list(val):
print i
注:val
文字列として読み取られます。整数操作の場合は、list(str(integer-value))
代わりに使用してください
2 桁の数字を文字列と考えてください。この方法で各桁をつかむ方が簡単です。str() を使用すると、整数が文字列に変更されます。モジュロを使用すると、これらの文字列をテキストに配置できます。
ユーザーが変数 num に 27 を入力すると、コードは次のようになります。
print 'The first digit is %s and the second digit is %s' % (str(num)[0], str(num)[1])