原題:
あなたの仕事は、新しい文字列を作成するには、文字列をインクリメント関数を記述することです。
- 文字列はすでに数で終わる場合、番号が1ずつインクリメントされなければなりません。
- 文字列が数字で終わっていない場合。番号1は、新しい文字列に追加する必要があります。
例:
foo -> foo1
foobar23 -> foobar24
foo0042 -> foo0043
foo9 -> foo10
foo099 -> foo100
注意:数は先行ゼロを持っている場合は数字の量を考慮しなければなりません。
-------------------------------------------------- ---------------- ---------------------------------- -------------------------------- ------------------ ------------------------------------------------ - -------------------------------------------------- --------------
Googleの翻訳:
あなたの仕事は、新しい文字列を作成するには、文字列を高める機能を記述することです。
- 文字列が数値で終了している場合は、数1を大きくする必要があります。
- 文字列が数字で終わっていない場合。ナンバー1は、新しい文字列に添付する必要があります。
例:
foo -> foo1
foobar23 -> foobar24
foo0042 -> foo0043
foo9 -> foo10
foo099 -> foo100
注意:数は、先頭にゼロがある場合は、桁数を考慮すべきです
-------------------------------------------------- ---------------- ---------------------------------- -------------------------------- ------------------ ------------------------------------------------ - -------------------------------------------------- --------------
パーソナルソリューション:
文字列の末尾から開始し、遭遇した非数値ストップをトラバースし続けるデジタル体験。デジタル部1を加え、その後、組み合わせがトラバースされていません。最後に、特別な事情を考慮してください。
DEF :(STRNG)increment_string Lを = [] グローバルstrng1の strng1 = "" IF:LEN(STRNG)== 0 #特殊なケースは、プロセスは、空STRNG STRNG = " 1 " 他: IF ていない STRNG [-1] .isdigit (): #特殊な場合は、最後の1を扱うことは数ではありません STRNG STRNG + = " 1 " 、他: のために私で:逆転(STRNG) #の逆トラバーサル IF i.isdigit(): L.append(ⅰ) 他: Strng1 = STRNG [0:-len(L)] #のスライス BREAK S1 = "" .join(反転(L)) #文字列にリスト S2 = STR(INT(S1) +1).zfill(LEN( L))#1 zfillは、ゼロパディングされ STRNG = strng1 + S2 戻り STRNG
品質回答:
DEF (STRNG)をincrement_string: ヘッド = strng.rstrip(' 0123456789 ')#は左非数値ゲット 尾STRNG = [LEN(頭を):] #は、残りの右側の部分を取得 IFテール== ""を:返す STRNG +を」。1 「 戻る(+ INT(尾)。1)ヘッド+ STRを(LEN(尾)).zfill
知識ポイント:
のみ(P):
オブジェクト(文字、リスト、タプル、等)又は項目数の長さを返します。
スライス:
L [インデックス、終了インデックス、離れフェッチを開始]、デフォルト数は1が離れて取られます。無料終了インデックス値
L =リスト(範囲(10 )) のL1 = L [0:3] #は3つのが含まれていないインデックス3までのインデックス0から始まる #:[0 ,. 1,2]実行結果 のL2 = Lの[3] 位また、前記L1と、インデックス0から始まる #1 [0、1 2]:結果 L3 = Lの[:] #は、異なるリストのコピー #1 :[0、1、2、3、4、5、6、実行結果を7 ,. 8 ,. 9] L4 = L [0:。6:2] #6、インデックスにインデックス0から分離された二つの数字はかからなかった #の実行結果を[0,2 ,. 4] のL5 = 1 [:: - 1。 ] #の下降は、すべての要素削除 のL6 = Lの[た: - 1] #最後に、最後から二番目を取得するゼロベースのインデックス含有 #1 :[0、1、2、3、4、5、結果を6、7、8]
文字列型の分析:
1、str.isdigit()、デジタルSTRかどうかを決定するブール型を返します
2、str.isalpha()、文字列strかどうかを決定するブール型を返します
3、str.isalnum():strが文字や数字の組み合わせか否かを判断する、ブール型を返します
(L)を逆:
逆方向移動は、元のリストには作用しません
文字列変換のリスト:
1、文字列のリストを回します:
str.split(「パラメータ」)#パラメータは、一般的スペースです
2、文字列のリストを回します:
「パラメータ」.join(L)#パラメータは、一般的スペースです
自動ゼロパディングstr.zfill(LEN):
zfill()メソッドは、前にゼロを埋め、右揃え元の文字列の指定された長さを返します。
頭と尾符号関数を削除します:
1、str.lstrip(STR文字):左側のパラメータ値に記号を除去すること
2、str.rstrip(STR文字):右のパラメータ値に記号を除去すること
3、str.strip(STRの文字):記号パラメータ値の左右を除去