0

私はPythonを学習して数週間ですが、任意の長さの数値を入力して1文字の長さに分割するスクリプトを作成しようとしています。このように: 入力:

123456

出力:

1           2            3            4            5            6

文字列を使用せずに、できれば divmod を使用してこれを行う必要があります...次のようなもの:

 s = int(input("enter numbers you want to split:"))
     while s > 0:
         s, remainder = divmod(s, 10)

間隔を適切にとる方法がわかりません。

お手伝いありがとう。

4

4 に答える 4

0

Python 文字列を反復処理し、 String.join() を使用して結果を取得できます。

>>>'  '.join(str(input("Enter numbers you want to split: ")))
Enter numbers you want to split: 12345
1  2  3  4  5  
于 2015-10-06T14:28:19.800 に答える
0

余りを使って次はどうでしょうか。

s = 123456
output = []
while s > 0:
    s, r = divmod(s, 10)
    output.append(r)

fmt='{:<12d}'*len(output)
print fmt.format(*output[::-1])

出力:

1           2           3           4           5           6

これはまた、いくつかの他の便利な Python のものを使用します: 数字のリストを反転させ ( output[::-1])、12 文字のフィールドにフォーマットし、数字を左側に揃えることができます ( {:<12d})。

于 2015-10-06T13:36:42.703 に答える
0

modで試してください:

while x > 0:
   x = input
   y = x % 10
   //add y to list of numbers
   x = (int) x / 10

たとえば、x が 123 の場合:

123 % 10 は 3 -> 3 を節約します。123 / 10 の整数値は 12 です。次に、12 % 10 は 2 です -> 2 を節約します。

これですべての数字が揃いました。その後、リストを反転して、好きなようにすることができます。

于 2015-10-06T13:32:49.447 に答える