פייתון/פייתון גרסה 3/יצירת רשימה באמצעות פונקצית eval

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי

הפונקצית eval[עריכה]

הפונקציה eval עד כה שימשה אותנו בכדי לסכום איברים:

>>> x=4
>>> y=9
>>> eval('x'+'y')
>>> eval('x+y')
13

input נותן מחרוזת[עריכה]

כאשר משתמשים בפקודה Input עבור הקלדה של מספרים מקבלים חזרה מחרוזת:

>>> A=input('insert a number')
insert a number 1
>>> type(A)
<class 'str'>

הבעיתיות עם list ו-split[עריכה]

בדרך כלל, כאשר רצינו שמספר הנקלט בידי המשתמש יהיה מספר נעזרנו בפונקצית int ולכן נשאלת השאלה למה לא להשתמש בפונקצית list הממירה רצף של מספרים לרשימה?

>>> A=list(input('insert a number: '))
insert a number: 1,2,3,4,5
>>> print (A)
['1', ',', '2', ',', '3', ',', '4', ',', '5']

eval, List והמרה לרשימה[עריכה]

באמצעות הפונקציה eval ניתן לייצר רשימה. פונקצית ה-eval תחילה מבצעת את המספרים במחרוזות לרצף :

>>> A=eval(input('insert a numbers: '))
insert a numbers: 1,2,3,4,5
>>> print(A)
(1, 2, 3, 4, 5)
>>> type(A)
<class 'tuple'>

אך כפי שניתן לראות התוצאה אינה רשימה. עם זאת עתה נוכל להשתמש בפונקצית list ולקבל:

>>> A=list(eval(input('insert a numbers: ')))
insert a numbers: 1,2,3,4,5
>>> print(A)
[1, 2, 3, 4, 5]
>>> type(A)
<class 'list'>

קטוגריה:פייתון גרסה 3