<p>假设您有一个字符串<code> s </code>和一个整数数组<code> roll </code>。我想根据<code> roll </code>中的数字将<code> s </code>中的每个字母递增1。例如,如果<code> s = "abc" </code>和<code> roll = [1,2] </code>,那么输出将是<code> s = "ccc" </code>。在</p>
<p>当我运行下面的代码时,我一直得到原始字符串<code> s </code>为什么会这样?在</p>
<pre><code>def rollTheString(s, roll):
for i in range(0, len(roll)):
for j in range(0,i):
s[j] = (chr(ord(s[j])+1));
return s;
</code></pre>
<p>您得到的错误应该是:</p>
<pre><code>TypeError: 'str' object does not support item assignment
</code></pre>
<p>这是因为在Python中,字符串是不可变的,因此不能适当地更改它们的字符。在</p>
<p>考虑以下问题:</p>
^{pr2}$