אני בודק מבחנים ידני ואני רוצה לדעת איך אפשר לחשב ציון בפייתון
לדוג’ יש מבחנים שיש 7 שאלות ויש שיש יותר שאלות ויש שיש פחות ואני מציין על כל שאלה או שלם או 3 או 75 וכד’ איך אוכל לחשב ציון (היום אני מחשב בצורה של לחלק את הציון במספר השאלות) אשמח לתשובה
הי מאיר נשמע אתגר מעניין בוא נתחיל בלהבין מה הפורמט של הקלט. המבחן יגיע לפייתון בקובץ וורד? קובץ טקסט? הקלדה ידנית?
תודה,
לא זה מבחן בכתב לא מגיע למחשב אני בודק אותו ומציין לו ידני
אוקיי אז השלב הראשון הוא לחשוב איך להכניס את זה למחשב - האם זה יהיה קובץ טקסט? קובץ וורד? קובץ אקסל? אולי לצלם עם הטלפון ולהכניס תמונה? כל פורמט כולל אתגרים משלו.
בשביל המשחק יהיה הכי קל להתחיל אם נדמיין שאחרי הבדיקה אתה תכניס את הנקודות של כל שאלה לקובץ טקסט שיתאים למבחן. כלומר ושוב אני מדמיין שהקובץ יראה כך:
Student Name: ynon
Q1 - 7
Q2 - 10
Q3 - 10
Q4 - 0
Q5 - 8
Q6 - 2
Q7 - 9
Q8 - 0
Q9 - 5
Q10 - 0
אז אפשר להתחיל בלכתוב תוכנית פייתון שמקבלת כזה קובץ ומדפיסה את סיכום הנקודות לאותו תלמיד, לפי שם התלמיד בראש הקובץ. שלב שני יכול להיות להרחיב את התוכנית כך שהיא תקבל תיקייה עם מספר קבצים כאלה ותדפיס סיכום, בכל שורה יהיה שם של תלמיד וכמה הציון שלו.
לא ממש הבנתי מה עושים למעשה מה אני מכניס בפייתון? את הטקסט הזה? איזה מניפולציה אני עושה עליו? אני מחלק את הניקוד לכל שאלה בסך השאלות?
היי ינון מה אתה אומר על זה?
זה לוקח ליסט של כמות השאלות (ניתן להכניס כמה שאלות שתרצה)
זה רץ בלולאה על כמות השאלות ומבקש ציון בין 0 ל 100 לכל שאלה
אם מכניסים מספר שלא בין 0 ל 100 זה נותן שגיאה בלי להקריס את התוכנית
לסיום זה מדפיס את הממוצע של הציונים שזה הציון הסופי
הי נראה התחלה מצוינת. אני חושב שאפשר להעביר לפונקציה רק מספר במקום את כל המערך, ואז לייצר את המערך בתוך הפונקציה תוך כדי הלולאה, כלומר:
def score_input(number_of_questions):
question = []
for i in range(number_of_questions):
question.append(int(input("enter a score"))
...
ואז אפשר לוותר על שורה 9 ולהפעיל את הפונקציה עם מספר השאלות שאתה רוצה.
בנוסף לגבי התנאי אני אוהב את הכתיב הזה:
if not 100 <= value <= 0:
raise ValueError()
והערה אחרונה בעצם לא צריך את ה list שם. אפשר בתוך הפונקציה לקחת את הקלטים ולסכום אותם, וגם לזכור כמה היו במספר אחר. נסה בשביל התרגיל לממש את זה בלי ה list תראה איזה גירסה אתה יותר אוהב