首页 > 解决方案 > 想查找特定字符在特定句子中出现的次数

问题描述

代码

sentence = input("Please enter a sentence:")
character = input("Please enter a single character:")

counter = 0
  1. 使用while循环:
while len(character) > 1:
      character = input("Please try again, enter a single character:")
  1. 我的问题是这些if陈述对我不起作用。
while len(sentence) > counter:
    if sentence[0].__contains__(character):
        counter += 1
        print(counter)
    if sentence[1].__contains__(character):
        counter += 1
        print(counter)
    if sentence[3].__contains__(character):
        counter += 1
        print(counter)
    if sentence[4].__contains__(character):
        counter += 1
        print(counter)
    if sentence[5].__contains__(character):
        counter += 1
        print(counter)
    if sentence[6].__contains__(character):
        counter += 1
        print(counter)
    if sentence[7].__contains__(character):
        counter += 1
        print(counter)

主要问题是用户输入的句子是否大于或小于代码未使用的“if statements”的数量

标签: pythonpython-3.x

解决方案


为什么不使用计数功能

在这种情况下,代码将如下所示:

sentence = input("Please enter a sentence:")
character = input("Please enter a single character:")

counter = sentence.count(character)
print(counter)

如果出于任何原因,您需要使用while循环来完成此任务,您可以尝试以下代码:

sentence = input("Please enter a sentence:")
character = input("Please enter a single character:")

idx = 0
counter = 0
while (idx < len(sentence)):  # loop over the string using idx
    if character == sentence[idx]:  # compare each character of the string with character variable
        counter += 1
    idx += 1

print(counter)

推荐阅读