בקשת מידע | עזרה בפייתון
-
אני רוצה לעשות סקריפט שמקבל את התרגיל ואת התוצאה ומחזיר תשובה האם זה נכון או לא, ניסיתי כך
a=input ('הכנס תרגיל') b=input ('הכנס תוצאה') if a == b: print ('נכון') else: print ('לא נכון ')
ומשום מה זה לא עובד
@מתכנת-חובב @פייתוניסט @האדם-החושב -
@ערכי-עלי לא בדיוק הבנתי מה זה אמור לעשות אבל עקרונית זה ככה
while True: a=input('הכנס תרגיל : ') b=input('הכנס תוצאה : ') if a == b: print('נכון') else: print('לא נכון')
(הוספתי while true כדי שזה ירוץ לבד פעם אחר פעם ולא יצטרכו לפתוח אותו מחדש בשביל כל תרגיל)
-
@מתכנת-חובב אני אסביר מה אני רוצה: הרבה פעמים אני רוצה לעשות תרגיל ולראות האם פתרתי אותו נכון או לא בלי לעשות את התרגיל במחשבון וכך במקרה שלא פתרתי את התרגיל נכון אני אוכל לעשות את התרגיל פעם נוספת בלי לדעת כבר את התוצאה
מה שהבאת לא פתר את הבעיה, בכל תרגיל שאני עושה הוא כטתב שהתוצאה לא נכונה -
@מתכנת-חובב תודה, בעצם הוא מקבל את האינפוט בתור מחרוזת?
ניסיתי גם ככה וזה לא עבד:while True: a=float (input('הכנס תרגיל')) b= float (input('הכנס תוצאה')) if a == b: print('aa') else: print('xd')
-
@ערכי-עלי float לא אומר שהוא מבצע תרגיל אלא רק ממיר מספר שנמצא בתוך סטרינג, לטיפוס float. אבל אם תעביר לו
"1+2"
תקבל שגיאה.
הדרך הכי קלה זה עםeval
-while True: question = float(eval(input(':הכנס תרגיל'))) answer = float(input('הכנס תוצאה')) if question == answer: print('Bingo!') else: print('Oops...')
אבל זה לא בטוח, ולכן בהחלט עדיף להשתמש בפונקציה שהובאה כאן (פשוט להשתמש בה במקום בeval המקורי)
-
@צדיק-תמים כתב בבקשת מידע | עזרה בפייתון:
אבל זה לא בטוח
לא בטוח מבחינת בטיחות קוד - שלא תהיה הזרקת קוד אבל לא ממש רלוונטי למקרה שלו...
-
@צדיק-תמים כתב בבקשת מידע | עזרה בפייתון:
question = float(eval(input(':הכנס תרגיל')))
אין צורך בהמרה ל-float כי הפונקציה eval מחזיר int.