2

整数または文字列内の特定の数字を参照する一般的な方法を探しています。交互の数字に対してさまざまな操作を実行し、それらすべての戻り値の結果を合計できる必要があります。

どんな助けでも大歓迎です

ああ、私は完全な初心者なので、ばかげた答えをいただければ幸いです。

私は詳しく説明します、整数をその数字のリストに減らすことができるPythonの組み込み関数はありますか、私は役に立たないように見えました、そして私はここの誰かが私が求めていることを理解することを望んでいました、とても漠然として申し訳ありませんが私はします非常に詳細な質問を提供するには、Pythonについてまだ十分に理解していません。

4

3 に答える 3

4

整数から始める場合は、最初にそれを文字列に変換します。整数内の数字を便利にアドレス指定することはできません。

>>> myint = 979
>>> mystr = str(myint)
>>> mystr
'979'

ゼロから始まる角かっこで囲まれたインデックスを使用して、個々の数字をアドレス指定します。

>>> mystr[1]
'7'

それらに対して数学を行う必要がある場合は、それらの数字を整数に変換して戻します。

>>> int(mystr[1])
7

また、数秘術の合計を行うだけの場合は、リスト内包表記が便利です。

>>> sum( [ int(x) for x in mystr ] )
25

個々の数字を検討するときは文字列を処理し、算術を実行するときは整数を処理するため、この種の処理には多くの変換が必要になることに注意してください。

于 2011-10-26T18:19:03.820 に答える
0

文字列を数字のリストに変換するには:

digits = [int(x) for x in mystr]

リストは変更可能であるため、この方法で個々の数字を変更できます。

文字列に戻す(すべての数値が1桁の値であると想定):

''.join([str(x) for x in digits])

そして、あなたは交互の数字を扱うためにスライスでストライドを使うことができます

digits[::2]
digits[1::2]
于 2011-10-26T18:28:55.980 に答える
0

これが最良の答えであるとは言いませんが、要件を満たしています。

In [1]: x = 1003998484

In [2]: [int(y) for y in str(x)]
Out[2]: [1, 0, 0, 3, 9, 9, 8, 4, 8, 4]

または、入力がすでに文字列である場合は、str()キャストを省略できます。

In [1]: x = '482898477382'

In [2]: [int(y) for y in x]
Out[2]: [4, 8, 2, 8, 9, 8, 4, 7, 7, 3, 8, 2]

そこから、必要に応じて結果のリストを変更できます...

于 2011-10-26T18:28:48.217 に答える