25 תשובות
היא מחברת את כל המספרים בתווח בין n1 ל n2 ופולטת את הסכום
נכון. התבלבלתי בין num ל-sum. מצטער.
for num in range(n1,n2+1)
range יוצרת רשימה שמתחילה בין n1 לn2+1 ככה שאם n1 היה 0 וn2 היה 10, n2+1 זה 11, מה שאומר 0,1,2,3,4,5,6,7,8,9,10 זה האלמנטים של הרשימה

מחבר את num שהוא האלמנט הנוכחי מהרשימה
sum=sum+num

#מדפיס תוצאה של החיבור
print (sum)
שואל השאלה:
^^^אבל למה היא פולטת את הסכום?
אוקיי אז כתוב ש-n1 שווה 1
ו-n2 שווה 20
אני יודע שאם מחברים את כל המספרים שביניהם התוצאה שמתקבלת היא 210.
אבל מה משמעות ה-sum והמספר 1 בתוך הלולאה?
אנונימי
שואל השאלה:
^^תודה רבה
אנונימי
n1 = 1
n2 = 20
אם עושים range בין 1 ל20 יוצא לך המספרים מ1 עד 19 כי range לא כולל את הספרה האחרונה, והדרך לפתור את זה הייתה להוסיף לn2 מספר אחד כדי שיצא 20.
שואל השאלה:
אבל מה זה sum+num?
איפה ה-num פה
אנונימי
שואל השאלה:
הפלט הוא 210
אנונימי
זה בדיוק מה שאני לומדת ולא הבנתי כלום גם
אממ, נראה שזה ידפיס אפסים.
אותו דבר לגבי הrange.

בloop הrange הופך להיות כמו רשימה של מספרים.
nums = [1,2,3,4,5,6,.......,20]
for number in nums:
print(num)
:for num in range(n1,n2+1)
כמו שאתה רואה יש לך אחרי המילה for את המשתנה num
איך הלולאת for עובדת במקרה הזה אתה שואל?
אמרת לפייתון דבר כזה: נתת לloop רשימת מספרים מ-1 עד 20. אחרי זה אמרת להם num, והnum הזה הוא משתנה כל ריצה של הloop. זה עובד ככה שאם עכשיו אני על המספר הראשון של הרשימה (במקרה הזה זה - 1), אז num הוא 1. ואם הגעתי לדבר החמישי ברשימה (שהוא 5) num יהיה 5.
זה משתנה כל פעם שהfor מסיים את הריצה העכשווית שלו ועובר לitem הבא ברשימה.
שואל השאלה:
^רגע אבל sum לא שווה לחיבור של עצמו פעמים.
הוא שווה לחיבור של עצמו עם num
אבל לא ברור לי מה זה num ומה זה sum
אני יודע ש-num זה קיצור של number
אבל איפה נודע לי כמה ה-num שווה?
אנונימי
אני מצטערת, זו הייתה טעות שלי בקריאה של הקוד. למרות זו, ערכו של num מתבסס על האיברים של האיטרטור שמבוצע עליו האיטרציה. במקרה הזה האיטרציה מבוצעת על (range(n1,n2+1. לכן, ערכו של num תלוי על פי כל איטרציה. בפעם הראשונה זה 1, אחר כך 2, וזה ממשיך כך עד 19.
for item in items
תנסה לקרוא את זה ככה.


עכשיו,
numbers = [1,2,3,4,5]
for number in numbers
יכול להיות גם
for number in range(1,6)

ומה שזה עושה זה שכל פעם שזה מסיים ריצה אחת בלופ זה עובר לדבר הבא שנתת לfor לרוץ עליו כמשתנה number
שואל השאלה:
אז במילים אחרות
sum שווה ל-210 כי מחברים את ה-num שזה החיבור של כל המספרים מ-1 עד 20 (210)
ועוד ה-sum ששווה 0?
אנונימי
לא, בכל פעם מוסף ערך של num
פעם ראשונה מוסף 1
פעם שנייה מוסף 2

וזה ממשיך כך עד 19

אבל כן בערך קלטת את הרעיון
דוגמא יותר קלה:

letters = ["a", "b", "c"]

for letter in letters:
print("letter is")
print(letter)
אם תריץ את הדוגמה אתה תראה שכל פעם הletter משתנה לפי הסדר של הרשימה
אני אסביר:
שורה ראשונה: מבוצע השמת המשתנה n1 כך שערכו יהיה שווה ל1
שורה שנייה:מבוצע השמת המשתנה n1 כך שערכו יהיה שווה ל20
שורה שלישית: מבוצע השמת המשתנה sum כך שערכו יהיה שווה ל0
שורה רביעית: מבוצע לולאה של איטרציה על האיטרטור range(n1,n2) שזה הטווח של המספרים בין 1 עד ל19
שורה חמישית: ערכו של sum מעודכן כך שיהיה שווה לחיבור של עצמו פעמיים

שורה שישית: מודפס ערכו של sum תוך שהוא מומר למחרוזת


לפני שאני מסיימת, הייתי ממליצה לך להתחיל להקשיב בשיעורי מדעי המחשב. אל תתפלא שיש לך קשיים בחומר שאתה לא מקשיב. זה בסדר אם אתה מתחיל, אבל אם תרצה להתקדם, תאלץ להתאמץ. אני יכולה לעזור לך אם אתה צריך עוד עזרה

עוד שאלה: למה אתה עושה for loop אם בכל מקרה ערכו של sum עדיין ישאר 0?
שואל השאלה:
תודה רבה לכם
מישהי עם תמונת פרופיל של הזאתי מהאנימה הגרועה הזאת
ואדון תהליך
אנונימי
שואל השאלה:
אוקיי
אנונימי
אנונימי, היי! אל תזלזל בארומנגה סנסיי, כל אנימה היא טובה. לא צריך להיות שפטן. אבל תודה גם לך
שואל השאלה:
לא כל אנימה..
אבל אני מסכים שיש כאלה שממש אחלה, אפילו אנימות רומנטיות!
דאנגאנרונפה זה אחלה
גם מתקפת הטיטאנים וכאלה
ראיתי לא מעט שתדעי
אנונימי
רוצה להמשיך את השיחה בפרטי? לא חובה, פשוט אני יכולה שם להמשיך לעזור בתכנות ואת השיחה הזו, פשוט לא יודעת אם מותר לעשות שיחות דרך שאלות אז עדיף בפרטי