の文字数例えば
:制限私は、その後、すべての3桁の数字の後にスペースを持つ出力を印刷7,8,9桁に入力の数を制限プログラムを書きたい入力
input(1234567)
output(1 234 567)
の文字数例えば
:制限私は、その後、すべての3桁の数字の後にスペースを持つ出力を印刷7,8,9桁に入力の数を制限プログラムを書きたい入力
input(1234567)
output(1 234 567)
一般に、整数を文字列に変換し、最後から最後まで繰り返す必要があります。新しいStringを作成し、その新しい番号を毎回追加します。毎回カウンタが割り切れるトラフ3 (counter%3 == 0)
あなたは1つの空白を追加する必要があります(カウンターは1から始まります)。
コードに関する質問がある場合は、コードを投稿して特定の質問をしてください。
そのような何か作業をする必要があります:
digits = input("Enter your input: ")
while len(str(digits)) > 9 or len(str(digits)) < 7:
digits = input("Enter your input: ")
digitsStr = str(digits)
output = ''
for i in range(0,len(digitsStr)):
output += digitsStr[i]
if i % 3 == 0:
output += ' '
print(output)
編集: あなたがそのコードを使用して8または9桁の数字を使用している場合、それは厄介かもしれません。例えば、1 000 000 0
として10000000が出力されますが、私はそれに合った少し私のコードを変更:
digits = input("Enter your input: ")
while len(str(digits)) > 9 or len(str(digits)) < 7:
digits = input("Enter your input: ")
digitsStr = str(digits)
output = ''
#This function acts like Switch..Case, returns value 1 as a default if x is
#Not in the dict
def fn(x, i):
return {7: i, 8: i-1, 9: i+1}.get(x, 1);
for i in range(0,len(digitsStr)):
output += digitsStr[i]
if fn(len(digitsStr), i) % 3 == 0:
output += ','
output = output[:-1]
print(output)
"1 234 567"の代わりに "123 456 7"が出力されるので、戻り値のdigitStrを使用して出力を構築する必要があります... –
私のコードは "1 234 567"を期待通りに出力します。最初の要素はi = 0、0%3 = 0なので、最初の要素の後に ''を追加します。 –
私の悪い、私は '私はインデックスの代わりに値ですと思っていた。それは私のタイムゾーンで午前中に1だから私はちょうど寝るだろうと思う... –
は、家庭の仕事のように見えます。これまでに試したことを教えてください。 –
ここには2つの質問があるようです。あなたの「割り当て」を小さなステップに分けてください。 –
http://mattgemmell.com/what-have-you-tried/ –