【发布时间】:2021-07-18 12:01:45
【问题描述】:
我有一个字符串。我需要替换字符“?”并找到丢失的字符以使其成为字典字符串。例如 - 如果我有字符串“ab”。它的字典值是“aa”。因为第一个字符“a”与第二个字符“b”不同。它给出输出-1。如果我给字符串“ta?a”。在这个字符串中如果我替换 '?'与 t。它变成了字典式。它给出输出“tata”。我正在输入 s 和 k。 K 是 s 长度的一半。请在这段代码中帮助我。
s=input()
k=input()
for i in range(k):
if (s[i]>=97) and (s[i]<=123):
if (s[i]==s[i+k]):
continue
else:
s=-1
else:
if(s[i]>=s[i+k]):
s[i+k]=s[i]
else:
s[i]=s[i+k]
return s
【问题讨论】:
-
lexicographical value是什么意思? -
你的代码有什么问题?你得到错误的结果吗?展示你得到什么和你期望什么。你有错误吗?始终将有问题的完整错误消息(从“Traceback”一词开始)(不是评论)作为文本(不是屏幕截图,不是指向外部门户的链接)。还有其他有用的信息。
-
您始终可以使用
print()查看变量中的值,然后您可以将其与纸上的计算进行比较。 -
首先,
return只能在python的类或函数中使用。其次,你不能在 python 中比较一个字符串。 s[i] 只会打印出 s' 的索引 (i)。 -
您必须在
s = -1之后使用break退出此循环。如果你不退出循环,那么它将再次运行s[i],它会测量-1[i],这是不正确的。
标签: python string string-matching