-1

値を別の関数に渡して別の文字列に文字列を追加しようとしていますが、追加されません。

def test2(s1,s2):
   s1 = s1+s2
   s1 = 'z'+s1
   return len(s1)

def test(s1,s2):
   i = test2(s1,s2)
   print(i)
   print(s1)

String1 = raw_input()
String2 = raw_input()

test(String1, String2)

入力 -a,b 期待される出力 -3, zab

しかし、私は得ています-3,a

4

2 に答える 2

3

Pythonには「参照渡し」のようなものはなく、文字列オブジェクトは不変であるため、関数に渡される文字列を変更することはできません。

于 2013-02-18T22:03:16.170 に答える
-2

参照によって渡されるオブジェクトで本当に作業したい場合は、リストを使用できます。プログラムのマイナーな変更は、次のようになります。

def test2(s1,s2):
   s1.extend(s2)
   s1.insert(0,'z')
   return len(s1)

def test(s1,s2):
   i = test2(s1,s2)
   print(i)
   print(s1)

String1 = list(raw_input())
String2 = list(raw_input())

test(String1, String2)
于 2013-02-18T22:06:53.687 に答える