لا أستطيع إضافة int إلى القائمة
-
21-12-2019 - |
سؤال
list == []
def MultiplesNumber(a):
for i in range(1, a+1):
if a % i == 0:
return i
list.append(MultiplesNumber(100))
TypeError: descriptor 'append' requires a 'list' object but received a 'int'
لا أستطيع أن أضيف i
ل list
, ، اي فكرة؟
المحلول
هناك شيئان خاطئان في شفرتك:
- أنت تقوم ب
list == []
والتي ترجع صحيح أو خطأ منذ ذلك الحين==
هو عامل المقارنة.وفي هذه الحالة يعودFalse
.تحتاج إلى استخدام=
لتهيئة متغير. list
هو اسم نوع مدمج في بايثون، استخدم شيئًا آخر كاسم متغير.
إصلاح كل منهما:
alist = []
def MultiplesNumber(a):
for i in range(1, a+1):
if a % i == 0:
return i
alist.append(MultiplesNumber(100))
يعطي الإخراج الصحيح.
نصائح أخرى
list
هي الكلمة الأساسية التي يحمل في ثناياه عوامل الظلال الخاصة بك list
عامل.تحتاج إلى تعيين قائمة لمتغير وليس التحقق من مساواتها.
lst = []
def MultiplesNumber(a):
return [x for x in range(1, a + 1) if a % 2 == 0]
lst.append(MultiplesNumber(100))
print(lst)
لا تنتمي إلى StackOverflow