حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
همهٔ تمرین‌ها

تابع میانگین تعداد بینهایت عدد

تمرین آسان 3750 visibility link download flag

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

اگر پارامتری مقدار غیرعددی بود، آن را نادیده بگیرد

👨‍💻 1 ساعت قبل کاربر ناشناس این تمرین رو مشاهده کرد

پاسخ‌ها 52

```def average(*args):
total = 0
count = 0
for item in args:
if isinstance(item, (int,float)):
total += item
count += 1

 if count == 0:
      return 0
 else:
     return total / count

print(average(10, 20, "30" ,"Hallo"))

```

#حل مسئله با پارمتر بی نهایت#
def average_numbers(*args):
   s = 0
   d = 0
   for itme in args:
        for i in itme:
            s += i
            d += 1
        return s / d 

my_list = [] 
while True:
    number = input("number: ")
    if number == "": break
    if number.isdigit():
        num = int(number)
        my_list.append(num)
    else: continue

an = average_numbers(my_list)
print("The average is: ",an)

#حل  مسئله با روش دیگر#
def average_numbers():
    l = 0
    i = 0
    while True:
        number = input("number: ")
        if number == "":break
        if number.isdigit():
            num = int(number)
            l += num
            i += 1
        else: continue
    return l/ i

average = average_numbers()
print("The average is :", average)
# The average function of an infinite number of numbers
def average(*n):
    total = 0
    count = 0

    for i in n:
        try:
            total += float(i)
            count += 1
        except:
            continue

    if count == 0:
        return 0

    return total / count
# test
print(average(32,29,44,69,76,9))
def average(*numbers):
    total = 0
    count = 0
    for n in numbers:
        if isinstance(n, (int, float)) and not isinstance(n, bool):
            total += n
            count += 1
    if count == 0:
        return 0
    return total / count

    print(average(5, "سلام", 15))
def ave(*a):
  s=0
  count=0
  for i in a:
    if isinstance(i, (int, float)):
      s += i
      count+=1
  if count==0:
    return 0
  return s / count
res=ave(2,3,'*',[2,4],-1,2,5,5,5,5,'ali')
print(res)
def average_of_numbers():
    l=[]
    while True:
      try:
       numbers=int(input('num:'))
      except ValueError:
       continue
      if numbers==0:
        break
      else:
        l.append(numbers)
        d=sum(l)
        print('for end enter 0')
    print(d)
average_of_numbers()

ارسال جواب

جوابت را با Markdown بنویس و ثبت کن

×
بستن