سلام من دارم یک برنامه مینوسم که داده های csv بگیره و نمرات مختلف که از دیکشنری ثبت کرده تبدیل به لیست کنه تا اینجا خیلی خوشحال به کد زنی ادامه دادم :)
اما اتفاقی افتاد که حالم بد کرد ارور 'float' object is not iterable بهم داده شد که اجازه نمیداد بتونم از داده های flaot لیست منیم بگیرم
روش مورد نظرم
lst = [5.0, 6.066666666666666, 7.5, 7.833333333333333, 9.75, 11.285714285714286, 11.375]
for items in lst:
show = min(items,key = lambda x:float(x))
print(show)
این مشکل فقط برای زمانی هست که میخوام حلقه بزارم خواستم بدونم چجوری میشه از float بدون type casting حلقه ایجاد کرد ؟
سوال بعدی مربوط به دوره مکتب خونه هست که سه تا معدل برتر ( همراه با اسم ) ، سه معدل پایین ( بدون اسم) میخواد که با روش بالا نتونستم پیاده کنم
def calculate_three_worst(input_file_name, output_file_name):
d = dict()
lst = []
with open(path,newline = '',encoding = 'utf-8') as file:
reader = csv.reader(file)
for person in reader:
name = person[0]
grade = list()
for avarge in person[1:]:
grade.append(int(avarge))
d[name] = mean(grade)
#print(d.items())
lst = list(d.values())
print(lst)
for counter in d.items():
a = sorted(d.items(), key=lambda x: x[1])
print(a)
break
#خروجی فعلی
[7.5, 6.066666666666666, 11.285714285714286, 9.75, 7.833333333333333, 5, 11.375]
[('ali', 5), ('hamid', 6.066666666666666), ('mandana', 7.5), ('soheila', 7.833333333333333), ('sara', 9.75), ('sina', 11.285714285714286), ('sarvin', 11.375)]
#خروجی درست
5.0
6.066666666666666
7.5
اگه روشی میدونید که میشه سه بار در یک حلقه از داده های float خروجی گرفت ممنون میشم بگید
به محمدرضا هلالی کمک کنید تا مشکل خودش را حل کند؛ اینطور میتوانیم با هم پیشرفت کنیم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟