محمد صدرا گنجعلی
3 سال پیش توسط محمد صدرا گنجعلی مطرح شد
2 پاسخ

لیست در پایتون

سلام مشکل کد زیر چی هست؟
میخوام از این لیست اعداد زوج و فرد جداشن
‍‍‍‍‍‍```
num = [1,2,3,4,5,6,7,8,9,10,11,12,13,14]
odd = []
even = [sum if sum % 2 == 0 else odd[sum] for sum in num]
print(even)
print(odd)
ارور:
Traceback (most recent call last):
File "/home/sadra/Education/python/list.py", line 3, in <module>
even = [sum if sum % 2 == 0 else odd[sum] for sum in num]
File "/home/sadra/Education/python/list.py", line 3, in <listcomp>
even = [sum if sum % 2 == 0 else odd[sum] for sum in num]
IndexError: list index out of range


ثبت پرسش جدید
Reza
تخصص : Django
@rezarezaee 3 سال پیش مطرح شد
0

اولا که sum یک تابع از قبل تعریف شده در پایتون هست و نباید به عنوان اسم متغیر ازش استفاده کنی
دوما برای جدا سازی اعداد زوج و فرد نمیتونی از یک حلقه و شرط تک خطی استفاده کنی چون در هر صورت else یک خروجی باید برگردونه وگرنه None قرار میگیره
سوما ارورت برای زمانیه که شما در قسمت else
یک اندیس از لیست odd صدا زدی -درصورتی که این لیست خالیه
همونطور ک میبینی ارور اندیس خارج از بازه بهت داده (list out of range)


میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 3 سال پیش مطرح شد
0

سلام خسته نباشید
برای این کار میتونی اینو تست کنی

list1 = [10, 21, 4, 45, 66, 93, 1]

even_count, odd_count = 0, 0

# iterating each number in list
for num in list1:

    # checking condition
    if num % 2 == 0:
        even_count += 1

    else:
        odd_count += 1

print("Even numbers in the list: ", even_count)
print("Odd numbers in the list: ", odd_count)

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام