הוספת הטוויסט
חלק מהיחידה יסודות במסלול ה-Kotlin של Coddy. שיעור 66 מתוך 93.
אתגר
בינוניבשיעור הקודם הפכת את הגבול העליון לדינמי בכך שקראת אותו מהקלט. עכשיו הוסף את הטוויסט והפוך גם את המחלקים להתאמה אישית!
שנה את הקוד שלך כך:
- קרא שלושה מספרים שלמים מהקלט:
n- הגבול העליוןfizzDivisor- המחלק של "Fizz"buzzDivisor- המחלק של "Buzz"
- עדכן את הפונקציה
fizzBuzzכך שתקבל שלושה פרמטרים: המספר שיש לבדוק, מחלק fizz ומחלק buzz - בצע לולאה מ-1 עד
nוהדפס את התוצאה עבור כל מספר באמצעות המחלקים המותאמים אישית
חתימת הפונקציה המעודכנת:
fun fizzBuzz(num: Int, fizzDiv: Int, buzzDiv: Int): Stringלוגיקת ההחזרה (כמו קודם, אבל עם מחלקים מותאמים אישית):
"FizzBuzz"אם המספר מתחלק בשני המחלקים"Fizz"אם המספר מתחלק רק ב-fizzDiv"Buzz"אם המספר מתחלק רק ב-buzzDiv- המספר כמחרוזת בכל מקרה אחר
קלט: שלושה מספרים שלמים בשורות נפרדות - הגבול העליון, מחלק fizz ומחלק buzz
פלט: תוצאת FizzBuzz המותאמת אישית עבור כל מספר מ-1 עד n, כל אחד בשורה נפרדת
מגבלות קלט: שני המחלקים הם מספרים שלמים חיוביים. המספר הכולל הוא בין 1 ל-100.
נסו בעצמכם
fun fizzBuzz(n: Int): String {
return if (n % 3 == 0 && n % 5 == 0) {
"FizzBuzz"
} else if (n % 3 == 0) {
"Fizz"
} else if (n % 5 == 0) {
"Buzz"
} else {
n.toString()
}
}
fun main() {
val n = readLine()!!.toInt()
for (i in 1..n) {
println(fizzBuzz(i))
}
}כל השיעורים ביחידה יסודות
7קלט/פלט בסיסיים
פונקציית Printlnתבניות מחרוזתקלט באמצעות ReadLineהמרת טיפוסיםסיכום – שנים עד הפרישהסיכום – אמת או שקר10פונקציות
הכרזה על פונקציהפרמטרים וארגומנטיםערכי החזרהארגומנטים בעלי שםערכי ברירת מחדלפונקציות עם ביטוי יחידחזרה – פונקציית Sigmaחזרה – פונקציית אימות3אפשרות לערך null
מהי בטיחות מפני nullטיפוסים שיכולים להיות nullאופרטור קריאה בטוחהאופרטור אלביסיסודות אתגר הפונקציותאופרטור ההבטחה לאי־nullסיכום – גישה בטוחה9לולאות
לולאת forלולאת whileלולאת do-whilebreakcontinueטווחים בלולאותלולאה מקוננתחזרה – עצרתחזרה – קלט דינמיתרגלו בעצמכם: Kotlin אונליין