ارور int object is not iterable به چه معناست؟

سلام ارورint object is not iterable  یعنی چی؟

پاسخ ها

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

خیلی سوالتون رو بد پرسیدین. کد رو هم لطفا بزارین که راحت ببینیم چی شده.

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش
number=""
while number != -1:
    number= int(input(''))
else:   
    number=max(number) 
    print(number)

میخوام تعدادی ورودی بدم به سیستم در صورتی که -1 رو وارد کردم max رو چاپ کنه اما ارور میده اما خط 5 ارور میده

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

سلام

من پایتون کار نیستم ولی تا جایی که میدونم فکر کنم تابع max برای آرایه هست نه متغیر معمولی.

نمیدونم سوالتون درست متوجه شدم یا نه ولی امیدواردم کد زیر کمکتون کنه

کد زیر تا زمانی که -1 وارد نکید ازتون عدد میگیره و زمانی که -1 وارد کنید بزرگ ترین عدد دریافت شده رو  نمایش میده البته از آرایه استفاده نکردم.

max = 0;
number =0;
while number != -1:
    number = int(input('Enter your number : '));
    if(number>max):
        max = number;

print(max);
sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

سپاس کده شما کاملا درسته

میشه ی توضیح به من بدین بر اساس این کدی که نوشتین max یک متغییره,اگر  number>max باشه هربارmax با number برابرقرارمیده یعنی آخرین عدد بزرگتر از -1, خب وقتی بنویسیم ماکسو چاپ کن آخرین عدد باید بده نه ماکسو,من منطق انتخاب ماکسشو متوجه نمیشم

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

هر بار number داخل max ریخته نمیشه تنها زمانی این اتفاق میفته که number بزرگتر تر از max باشه.

مثلا شما اولین بار عدد ۵ رو وارد میکنید و دستور if چک میکنه که آیا ۵ بزرگتر از مقدار max هست یا نه که در این حالت شرط برقرار (چون مقدار اولیه ی max صفر است) و  5 رو در max میریزه حالا وقتی حلقه یکبار دیگه تکرار میشه و این بار شما عدد 2 رو وارد میکنید ؛ دستور if چک میکنه که آیا 2 بزرگتر از max هست یا نه که در این حالت شرط برقرار نیست  ( چون مقدار موجود در max عدد 5 هست ) پس بدنه ی دستور if اجرا نمیشه و حلقه ی while یکبار دیگه اجرا میشه تا زمانی که -1 وارد کنید و تو این مدت تنها  زمانی  مقدار max تغیر میکنه که شما عدد بزرگتر از مقدار موجود در  max وارد کنید.

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

توضیحتون عالی بود

من همین برنامه رو نوشتم برای پیدا کردن دومین عدد بزرگ که البته برای همه اعداد کار نمی کنه واینکه از لیست هم استفاده نکردم شرطم درسته اما علت اینکه برای همش کار نمی کنه رو نمیدونم

max = 0
number =0
max_2=0
while number != -1:
    number = int(input(''))
    if number>max:
        max = number
    if number!=max and number>max_2:
        max_2 = number
print(max,max_2)
sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

زمانی که عددی بزرگتر از max وارد میشه max میشه دومین عدد و شما باید اول max بریزید داخل max_2 بعدش number بریزید تو max.

مثلا فکر کنید max = 4  و max_2 = 2 وقتی کاربر عدد 5 وارد میکنه به دلیل اینکه عدد 5 بزرگ تر از max عدد 5 ریخته میشه داخل max. در کد شما وقتی این اتفاق صورت میگیره مقدار قبلی max که 4 بوده از بین میره در صورتی که نباید این اتفاق بیفته چون عدد 4 بعد از ورود عدد جدید (5) دومین عدد بزرگ هست و باید در max_2 ریخته بشه.

max = 0
number =0
max_2=0
while number != -1:
    number = int(input('Enter number : '))
    if number>max:
        max_2 = max;
        max = number;
    elif number>max_2:
        max_2 = number;

print(max,max_2)
sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

😃

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

لطفا بیشتر توضیح بدید و کد رو هم قرار بدید.

sokanacademy forum
کاربر سکان آکادمی 3 سال پیش

سلام دوست عزیز منم با این خطا مواجه شدم شما تونستید بفهمید این خط برای چیه و چجورریبرطرف میشه منم راهنمایی کنید.

def pack_list(self):
for currentItem in self.tableWidget.selectAll():
self.ROW = currentItem.row() # 10 satr
self.CULOMN = currentItem.column() # 6 ta soton
self.kolkala = self.tableWidget.item(self.ROW, self.CULOMN)

self.kolkala = self.kolkala.setText('')
self.tableWidget.setItem(self.ROW, self.CULOMN, QTableWidgetItem(self.kolkala))

online-support-icon