我目前正在用Python进行一些考试,我有一个问题。
例如,我们有1000行的单词。每行有两个单词,用空格键隔开(ASCII码32)。我必须用Python编写代码来检查第一个单词是否存在于第二个单词中(在同一行中),例如,adc
存在于addadc
中,但不存在于addadfc
,我需要计算所有好的行数。结果是235
,但它太高了,因为正确答案是234
。我不知道为什么会这样。你知道吗
代码:
liczba_wierszy = 0 #amount of lines
for i in range(1000):
linia = input() # line
index_spacji = 0 # space index
index_konca = 0 #index of the word
pierwszy_napis = "" # first word
drugi_napis = "" # second word
for j in linia:
if ord(j)!= 32:
index_spacji+=1
else:
break;
pierwszy_napis =(linia[0:index_spacji-1])
drugi_napis = (linia[index_spacji+1:len(linia)])
if pierwszy_napis in drugi_napis:
liczba_wierszy+=1
print(liczba_wierszy)
它是用波兰语写的,所以我会翻译一下。你知道吗
错误似乎在这行:
pierwszy_napis =(linia[0:index_spacji-1])
它在
pierwszy_napis
中放的字符比它应该放的少了一个。因为MyString[a:b]提供了从索引a到索引b-1的子字符串。你知道吗试试看
pierwszy_napis =(linia[0:index_spacji])
相反
我能给你一个简单的选择吗?你知道吗
我还看到,您已经将
word1
和word2
的字符串初始化为""
,然后重新为它们赋值。您可能需要注意,Python字符串是不可变的,稍后重新分配给它们将创建一个新对象。因此,如果要使用代码,请跳过初始化部分。你知道吗相关问题 更多 >
编程相关推荐