我正在将cpp代码更改为python。 但python代码dosent运行。 这是我的python代码:
n,k=input().split()
s=input()
l = len(s)
ans = 0
k=int(k)
for i in range(l):
ans += max(ord(s[i]) - ord('a'), ord('z') - ord(s[i]))
if (ans < k):
print("-1")
for i in range(l):
if ((ord(s[i]) - ord('a')) > (ord('z') - ord(s[i]))):
now = ord(s[i]) - ord('a')
if (now >= k) :
s[i] -= k
k=0
else :
s[i] = chr(ord('a'))
k -= now
else:
now = ord('z') - ord(s[i])
if (now >= k):
s[i] =chr(ord(s[i])+ k)
k=0
else:
s[i] ='z'
k -= now
print(s)
我收到此错误:
...line 22, in <module>
s[i] =chr(ord(s[i])+ k)
TypeError: 'str' object does not support item assignment
任何人都可以帮助我吗? 非常感谢
答案 0 :(得分:0)
我建议您将字符串转换为列表:
string = "abs"
string_list = list(string)
print(string_list)
输出:
['a', 'b', 's']
string_list
s
转换为列表,然后对其进行操作