基本上,我需要创建一个python 2.7程序,用户输入一个句子,然后输入一个单词,如果单词在句子中,程序会显示其位置。如果单词不在句子中,程序需要输出一条错误信息,上面写着"单词不在句子中#34;。句子和单词不能区分大小写,程序必须使用for循环。我的尝试是可怕的,但这是我尝试过的:
sentence = raw_input("enter your sentence: ")
word = raw_input("enter word: ")
len(sentence)
for i in range(int(sentence)):
print sentence.find(word)
我的代码输出:
enter your sentence: hello bob my name is bob too
enter word: bob
Traceback (most recent call last):
File "C:\GCSE Python\CPCA- Task 1 Code.py", line 5, in <module>
for i in range(int(s1)):
ValueError: invalid literal for int() with base 10: 'hello bob im bob too'
>>>
答案 0 :(得分:1)
你可以这样做:
>>> s='hello bob my name is bob too'
>>> ss='bob'
>>> [i for i in range(len(s)) if s.startswith(ss, i)]
[6, 21]
或者,作为for
循环:
for i in range(len(s)):
if s.startswith(ss, i):
print i
或稍微好一些,因为你没有在Python 2中创建无用的range
列表:
for i, _ in enumerate(s):
if s.startswith(ss, i):
print i