想知道一个特定字符在一个特定句子中出现的次数吗

2024-09-22 16:40:12 发布

您现在位置:Python中文网/ 问答频道 /正文

代码

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语句的数量


Tags: 代码inputlenifcounter语句sentenceprint
3条回答

为什么不使用count function?你知道吗

在这种情况下,代码简单如下:

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)

使用^{}

from collections import Counter

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

letter_cnts = Counter(sentence)

# Using format
print('Your character {cha} occurs {cnt} times in the sentence'.format(cha=character, cnt=letter_cnts[character]))

# Using f-strings
print(f'Your character "{character}" occurs {letter_cnts[character]} times in the sentence')

如果没有导入,只需将句子中的字符替换为空字符串,然后比较两个句子的长度:

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

counter = len(sentence) - len(sentence.replace(character, ''))

把它放在一个循环中:

sentence = input("Please enter a sentence:")
while 1:
    character = input("Please enter a single character:")
    print(len(sentence) - len(sentence.replace(character, '')))

相关问题 更多 >