辞典价值
Lexicographical value
我有一个字符串。我需要替换字符“?”并找到缺失的字符,使其成为字典序字符串。例如-如果我有字符串“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
我不完全确定我理解你的问题,但这是我的尝试:
s = list(input())
k = int(input())
for i in range(k):
s[i] = s[i+k] if s[i] == '?' else s[i]
s[i+k] = s[i] if s[i+k] == '?' else s[i+k]
print(''.join(s) if s[:k] == s[k:] else -1)
对于输入 ta?a
和 2
它将输出 tata
,对于 ab
和 1
它将输出 -1
。请注意,第二个参数无论如何都是多余的,因为你说它只是长度的一半。
我有一个字符串。我需要替换字符“?”并找到缺失的字符,使其成为字典序字符串。例如-如果我有字符串“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
我不完全确定我理解你的问题,但这是我的尝试:
s = list(input())
k = int(input())
for i in range(k):
s[i] = s[i+k] if s[i] == '?' else s[i]
s[i+k] = s[i] if s[i+k] == '?' else s[i+k]
print(''.join(s) if s[:k] == s[k:] else -1)
对于输入 ta?a
和 2
它将输出 tata
,对于 ab
和 1
它将输出 -1
。请注意,第二个参数无论如何都是多余的,因为你说它只是长度的一半。