在接下来的几周内,我将参加计算机科学 GCSE。我真的需要这个 GCSE,因为我渴望成为一名应用程序开发人员,所以任何帮助都会很棒!对于 GCSE 的编码部分,我需要创建一个 python 脚本,允许用户输入字符串,然后在该字符串中搜索单词。从那里,脚本必须返回该搜索单词的所有位置。我这里有一些示例代码:
userinp = input("Please type a sentence: ")
list1[]
string1 = userinp.split()
for x in string1:
list1.insert(x,string1[x])
search = input("Search for a word: ")
for x in range(len(string1)):
if search in list1:
print("Word found at index:",x)
请记住,此代码可能无法 100% 有效,因为这是在手机上输入的。
实际任务是回忆单词的所有位置,但经过无数次尝试,我无法让它打印同一个单词的其他索引。例如,如果字符串是“你好,我的名字是杰克,我最喜欢的食物是苹果”,并且我搜索了“我的”,则程序必须返回在索引 2 和 7 处找到该单词。
由于是手机打字,实际问题可能没有说清楚,如果是这样的话,请直接评论说出来。否则,任何帮助都会很棒!
试试这个,
userinp = raw_input("Please type a sentence: ")
words = userinp.split(' ')
search = raw_input("Search for a word: ")
for idx, word in enumerate(words):
if search == word:
print("Word found at index:", idx)
希望有帮助。
首先,大多数编程语言都使用从零开始的索引,因此“你好,我的名字是杰克,我最喜欢的食物是苹果”中的“我”的索引将是1和6。
要在 Python 中初始化列表,请使用语法
list1 = []
。有关这方面的更多信息,请了解 Python 为什么是一种动态类型语言。
下面的代码应该可以工作! (如果没有,请检查您的机器上是否正确安装了Python)
# Get the sentence to search (and convert string to lowercase - you don't want to miss words because of case sensitivity).
user_input = input("Sentence to search: ").lower()
# Gets the word to search for (again, the case sensitivity is handled by making sure the case matches the sentence to search).
word = input("Word to find: ").lower()
# Splits the sentence string into an array of words (separated/delimited by the space character).
words = user_input.split(" ")
# Initialises a new list to store the indexes of the words in.
positions = []
# Iterates over each index in 'words'.
for i in range(len(words)):
# Checks if the word is a match.
if words[i] == word:
# If the word is a match, stores it, and then tells you it matched at that index.
positions.append(i)
print("Word at index: " + str(i))
# Print the array of indexes you got at the end to check.
print(positions)