-1

編集:ご協力いただきありがとうございますが、実際の問題に適用するのに苦労しました。割り当てられた問題と同様の問題を解決する方法の一般的なアイデアを得ようとしていましたが、それを理解することができませんでした.

したがって、私の関数は 2 つのパラメーターを取り、どちらも数値です。最初のパラメーターが 0 の場合、2 番目のパラメーターで発生する最初の数値に設定する必要があります。

もしそうなら

num_call(0, 23)

2を返す必要があります。

これを行う方法に関するヒントはありますか?それとも、皆さんが説明してきた方法で仕事をするでしょうか?

本当にありがとう

4

4 に答える 4

3

位置/インデックスで文字列の個々の文字にアクセスできます ( 0-indexedであることに注意してください)。

>>> s = "Charger"
>>> s[2]
'a'

文字列の代わりに数字がある場合は、それを文字列に変換してから、同じ手法を使用できます。

>>> i = 1234
>>> str(i)[2]
'3'
于 2012-08-30T01:21:17.743 に答える
1

私はこのようなものが好きです

def return_third_character(string):
    ts = str(string)
    if len(ts) >= 3:
        return ts[2]
于 2012-08-30T09:14:52.520 に答える
1

コメント (関数、単語、数字) に答えるには、次のコードをご覧ください。

def print_third_character(string):
    print str(string)[2]

print_third_character("Charger")
>>> a
print_third_character(1145)
>>> 4
于 2012-08-30T01:43:51.173 に答える
0

編集した質問に答えるには。

関数呼び出しが num_call(0, 23) で、num_call(2, 3) で呼び出したい場合は、次のコードを使用します。

def num_call(first_parameter, second_parameter):
    if first_parameter == 0:
        num_call(int(str(second_parameter)[0]), int(str(second_parameter)[1:]))

2 番目のパラメーターのみを返したい場合、最初のパラメーターが 0 の場合は、次のコードを使用します (first_argument が 0 でない場合、最初の引数が返されることに注意してください)。

def num_call(first_parameter, second_parameter):
    if first_parameter == 0:
        return int(str(second_parameter)[0])
    else:
        return first_parameter
于 2012-08-30T23:17:25.413 に答える