我一直在尝试为这个程序编写代码一段时间,但我无法理解。我很迷茫。我很感激帮助:
编写一个带两个字符串的函数。第二个字符串应该只有一个字符长。该函数应返回第一个字符串中第二个字符串出现的次数。
您将需要:
带参数的函数声明。 一个for循环。 一个if语句。 退货声明。
到目前为止我所拥有的:
string_one = "I love coding!"
string_two = "I"
if string_two in string_one: print "Hi"
答案 0 :(得分:1)
考虑到您提供的代码,如果string_two
位于string_one
中,则确实有效,这意味着您的if条件正确无误。但是,它只会运行一次,因此如果在string_two
中多次出现string_one
,它将忽略所有其他出现并仅打印Hi
一次。因此,您需要将if条件添加到for循环中,以捕获string_two
中string_one
的所有出现。
string_one = "I love coding!"
string_two = "o" # changed to 'o' since it has more than 1 occurence in string_one
for letter in string_one: # look at each letter in string_one, one after another
if string_two in letter: # also possible: if string_two == letter
print "Hi" # print Hi when the letter is found
根据您的任务,现在要做的就是将此代码包装到具有两个参数的函数中(理想情况下,一个参数称为sentence
,另一个参数称为character
或类似)并返回一些内容。但是,我会把这一点告诉自己,祝你好运! :)
答案 1 :(得分:0)
首先,请注意,可以使用str.count(thing_to_count)
解决此问题。这就是你应该使用的一般情况,但我在这里看到你可能在一个分配上寻求帮助(一般不鼓励Stack Overflow,但我个人没有问题)。无论如何,这是我为此制作的代码。
def count_in_string (sentence, thing_to_count):
times = 0
for word in sentence:
for letter in word:
if letter == thing_to_count: times += 1
return times
所以:
count_in_string
声明为带有参数sentence
和thing_to_count
的函数。times
设置为thing_to_count_
中sentence
出现的次数(到目前为止为0)。thing_to_count
,如果是,请将{1}添加到times
。times
作为结果。