从键盘输入一组由单词和空格组成的长字符串,统计字符串中不包括元音字母的单词个数。 example: input: word by word output: 1 用Python且使用函数
时间: 2024-10-13 15:08:13 浏览: 31
首先,我们需要编写一个函数,该函数接受一个字符串作为输入,并通过遍历单词来计算不包含元音字母的单词数量。这里我们假设输入的字符串已经按照单词分隔,如果没有,需要先对输入进行处理。下面是实现这个功能的Python代码:
```python
def count_vowel_free_words(input_string):
vowels = "aeiouAEIOU"
words = input_string.split() # 分割字符串为单词列表
vowel_free_count = 0
for word in words:
if not any(vowel in word for vowel in vowels): # 检查单词中是否包含元音
vowel_free_count += 1
return vowel_free_count
# 用户从键盘输入
user_input = input("请输入一组由单词和空格组成的长字符串:")
vowel_free_word_count = count_vowel_free_words(user_input)
print(f"不包含元音字母的单词个数:{vowel_free_word_count}")
相关问题
python 从键盘输入一组由单词和空格组成的长字符串,统计字符串中不包括元音字母的单词个数。
在Python中,你可以通过分隔字符串、遍历每个单词并检查是否包含元音字母的方式来完成这个任务。以下是一个简单的示例:
```python
def count_vowel_free_words(input_string):
vowels = "aeiouAEIOU" # 元音字母集合
words = input_string.split() # 通过空格分割成单词列表
vowel_free_count = 0 # 初始化无元音单词计数
for word in words:
if not any(char in vowels for char in word): # 检查单词中是否有元音
vowel_free_count += 1 # 如果没有元音,则计数加一
return vowel_free_count
input_str = input("请输入一个由单词和空格组成的字符串:") # 获取用户输入
result = count_vowel_free_words(input_str)
print(f"不含元音字母的单词个数是:{result}")
java从键盘上输入一个字符串,统计这个字符串中字母,空格,数字,和其他字符的个数
在Java中,你可以使用`Scanner`类从键盘获取用户输入的字符串,并利用`Character`类的方法来统计其中的字母、空格、数字和其他字符。下面是一个简单的示例:
```java
import java.util.Scanner;
import java.text.Normalizer;
public class StringCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String input = scanner.nextLine();
// 统计字母
int alphaCount = countCharacters(input, Character::isLetter);
// 统计空格
int spaceCount = countCharacters(input, c -> c == ' ');
// 统计数字
int digitCount = countCharacters(input, Character::isDigit);
// 其他字符(非字母、空格和数字)
int otherCount = input.length() - (alphaCount + spaceCount + digitCount);
System.out.println("字母个数: " + alphaCount);
System.out.println("空格个数: " + spaceCount);
System.out.println("数字个数: " + digitCount);
System.out.println("其他字符个数: " + otherCount);
}
private static int countCharacters(String str, Predicate<Character> predicate) {
int count = 0;
for (char c : str.toCharArray()) {
if (predicate.test(c)) {
count++;
}
}
return count;
}
}
// 使用lambda表达式作为Predicate接口的实现
interface Predicate<T> {
boolean test(T t);
}
```
在这个例子中,我们创建了一个`countCharacters`方法,它接受一个字符串和一个谓词(`Predicate`),然后遍历字符串中的每个字符,如果该字符满足谓词(如是字母、空格或数字),则增加计数。
阅读全文