מונה תדירות מילים
חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-Dart של Coddy. שיעור 56 מתוך 65.
אתגר
קלבהמשך לפרויקט מנתח הטקסט שלך, עכשיו תממש את התכונה המורכבת ביותר: מונה תדירות מילים. בשלב הזה תיצור מפה שעוקבת אחר מספר הפעמים שכל מילה ייחודית מופיעה בטקסט שלך, ותספק תובנות מפורטות על דפוסי השימוש במילים.
- השתמש במשתנה
textToAnalyzeמההגדרה הקודמת שלך - השתמש במשתנה
totalCharactersמשלב ספירת התווים שלך - השתמש במשתנה
wordListמשלב פיצול המילים שלך - השתמש במשתנה
totalWordsמשלב ספירת המילים שלך - השתמש במשתנה
uniqueWordsSetמשלב ספירת המילים הייחודיות שלך - השתמש במשתנה
uniqueWordCountמשלב ספירת המילים הייחודיות שלך - צור Map ריק בשם
wordFrequencyלאחסון ספירות המילים - עבור על כל מילה ב-
wordListבאמצעות לולאת for-in - עבור כל מילה, בדוק אם היא כבר קיימת במפה באמצעות
containsKey() - אם המילה קיימת, הגדל את הספירה שלה ב-1
- אם המילה אינה קיימת, הוסף אותה למפה עם ספירה של 1
- הצג את תוצאות ניתוח תדירות המילים בפורמט המדויק שמוצג למטה
- הצג את כל נתוני הניתוח הקודמים, יחד עם מפת תדירות המילים בעיצוב מתאים
לדוגמה, אם מנתח הטקסט שלך הוגדר עם "hello world hello", התוכנית שלך אמורה להציג:
Text Analysis Tool - Word Frequency
====================================
Analyzing text: "hello world hello"
Total characters: 17
Words found: [hello, world, hello]
Total words: 3
Unique words: {hello, world}
Unique word count: 2
====================================
Word Frequency Analysis Results:
Word frequencies: {hello: 2, world: 1}
====================================
Word frequency analysis completed successfully.אם מנתח הטקסט שלך הוגדר עם "the cat and the dog and the bird", התוכנית שלך אמורה להציג:
Text Analysis Tool - Word Frequency
====================================
Analyzing text: "the cat and the dog and the bird"
Total characters: 32
Words found: [the, cat, and, the, dog, and, the, bird]
Total words: 8
Unique words: {the, cat, and, dog, bird}
Unique word count: 5
====================================
Word Frequency Analysis Results:
Word frequencies: {the: 3, cat: 1, and: 2, dog: 1, bird: 1}
====================================
Word frequency analysis completed successfully.אם מנתח הטקסט שלך הוגדר עם "apple banana apple cherry banana apple", התוכנית שלך אמורה להציג:
Text Analysis Tool - Word Frequency
====================================
Analyzing text: "apple banana apple cherry banana apple"
Total characters: 38
Words found: [apple, banana, apple, cherry, banana, apple]
Total words: 6
Unique words: {apple, banana, cherry}
Unique word count: 3
====================================
Word Frequency Analysis Results:
Word frequencies: {apple: 3, banana: 2, cherry: 1}
====================================
Word frequency analysis completed successfully.על התוכנית שלך לעבור על רשימת המילים ולבנות מפת תדירות, באמצעות בדיקה אם כל מילה כבר קיימת במפה. השתמש ב-containsKey() כדי לבדוק אם מילים כבר קיימות, ואז הגדל את הספירה הקיימת או אתחל רשומה חדשה עם ספירה של 1. ניתוח התדירות הזה יספק את התובנות המפורטות ביותר על דפוסי השימוש במילים בטקסט שלך.
נסו בעצמכם
import 'dart:io';
void main() {
// Text analyzer setup
String? textToAnalyze = stdin.readLineSync();
// Character counting
int totalCharacters = textToAnalyze!.length;
// Word splitting and counting
List<String> wordList = textToAnalyze.split(' ');
int totalWords = wordList.length;
// Unique word analysis
Set<String> uniqueWordsSet = Set.from(wordList);
int uniqueWordCount = uniqueWordsSet.length;
// Display results
print('Text Analysis Tool - Unique Words');
print('====================================');
print('Analyzing text: "$textToAnalyze"');
print('Total characters: $totalCharacters');
print('Words found: $wordList');
print('Total words: $totalWords');
print('====================================');
print('Unique Word Analysis Results:');
print('Unique words: $uniqueWordsSet');
print('Unique word count: $uniqueWordCount');
print('====================================');
print('Unique word analysis completed successfully.');
}כל השיעורים ביחידה לוגיקה וזרימת התוכנית
1מניפולציות מתקדמות ברשימות
מאפייני רשימה: ראשון ואחרוןמצב הרשימה: isEmpty ו-isNotEmpהיפוך רשימההוספה לרשימה: insertהסרת פריטים מרשימה: removeWhereחיפוש ברשימה: indexOfמיון רשימהערבוב רשימהסיכום – מארגן רשימות4מניפולציה מתקדמת של Map
מעבר על Mapבדיקה אם מפתחות וערכים קיימיםמאפייני Map: מפתחות וערכיםהוספה מותנית: putIfAbsentהסרת רשומות מ־MapMaps מקונניםסיכום – עדכון מלאי2פעולות פונקציונליות על רשימות
טרנספורמציה באמצעות 'map'סינון באמצעות 'where'שימוש ב-'.toList()'בדיקת תנאים באמצעות 'any'תנאים באמצעות 'every'איתור באמצעות 'firstWhere'סיכום – סינון נתונים5פרויקט: חישוב עגלת קניות
הגדרת הפרויקטהוספת פריטים לעגלה8פרויקט: מנתח טקסט פשוט
סקירה כללית והגדרת הפרויקטספירת תווים3קבוצות
מהי קבוצה?יצירת קבוצההוספה והסרה מקבוצותבדיקת נוכחות של איברים בקבוצההמרת רשימה לקבוצהאיחוד קבוצותחיתוך קבוצותהפרש קבוצותסיכום – רשימת אורחים ייחודית6טיפול בסיסי בשגיאות
מהן חריגות?בלוק ה-try-catchתפיסת חריגות באמצעות onבלוק ה-finallyהשלכת חריגהסיכום – חלוקה בטוחה9טיפוסי מנייה (Enums)
מה הם Enums?הגדרת Enum פשוטשימוש ב-Enums במשתניםEnums במשפטי 'switch'סיכום – רמזורתרגלו בעצמכם: קומפיילר Dart אונליין