تابع میانگین تعداد بینهایت عدد
تابعی بنویسید که تعداد بی نهایت پارامتر دریافت کند و میانگین اعداد را برگرداند
اگر پارامتری مقدار غیرعددی بود، آن را نادیده بگیرد
👨💻 9 ساعت قبل کاربر ناشناس این تمرین رو مشاهده کرد
تابعی بنویسید که تعداد بی نهایت پارامتر دریافت کند و میانگین اعداد را برگرداند
اگر پارامتری مقدار غیرعددی بود، آن را نادیده بگیرد
def x(): #تعریف تابع
m, n = 0, 0
while True:
try:
number = int(input("number: "))
if number == -1: #دریافت عدد تا -1 وارد شود
break
m += number
n += 1
except ValueError: #نادیده گرفتن ورودی های غیر عددی
print("input no number")
return f"Average = {m / n}" #چاپ میانگین اعداد
print(x())
def avg(*num):
sum=0
for i in num:
sum+=i
return sum/len(num)
def average(): #تعریف تابع
sum, len = 0, 0
while 1:
try:
number = int(input("number: "))
if number == 0: # وقتی صفر وارد شد حقه برک میشود و میانگین را نشان میدهد
break
sum += number
len += 1
except ValueError: # این کد اعددادغیر عددی را نادیده میگیرد
print("input no number")
return " average = {}".format(sum / len) # در آخر این کد میانگین اعداد را چاپ میکند
print(average())
def m(*num): x = sum(num) #جمع آیتم ها در ایکس x /= len(num) #محاصبه میانگین return x t = ()#دریافت عدد تا وقتی که اعداد کوچک تر از 0 دریافت شودwhile True: try: number = int(input("number: ")) if number < 0: break t += (number,) #افزودن آیتم جدید به تاپل #اگر مقدار غیر عددی بود در نظر گرفته نمیشود و جمله زیر چاپ میشود except ValueError: print("input no number!") print(m(*t))
#include <stdio.h>
float calculateAverage() {
int m = 0, n = 0, number;
while (1) {
printf("number: ");
if (scanf("%d", &number) != 1) {
printf("input no number\n");
while(getchar() != '\n'); // clear invalid input
continue;
}
if (number == -1) { // receive numbers until -1 is entered
break;
}
m += number;
n++;
}
return (n > 0) ? (float)m / n : 0; // print average of numbers
}
int main() {
printf("Average = %.2f\n", calculateAverage());
return 0;
}
#include <iostream>
float calculateAverage() {
int m = 0, n = 0, number;
while (true) {
std::cout << "number: ";
if (!(std::cin >> number)) {
std::cout << "input no number\n";
std::cin.clear(); // clear the error flag
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // discard invalid input
continue;
}
if (number == -1) { // receive numbers until -1 is entered
break;
}
m += number;
n++;
}
return (n > 0) ? (float)m / n : 0; // print average of numbers
}
int main() {
std::cout << "Average = " << calculateAverage() << std::endl;
return 0;
}
def a():
s = 0
x = 0
while True:
try:
b = int(input("num:"))
if b == -1:
break
s += b
x += 1
except ValueError:
print("input no number")
return s / x
print(a())
def average(*args):
numbers = [x for x in args if isinstance(x, (int, float))]
if not numbers:
return 0
return sum(numbers) / len(numbers)
def calcaverage():
while True:
num = input('Enter number:')
if num == '0':
break
if num.replace(".", "").isnumeric():
list.append(float(num))
return sum(list)/len(list) if (list) else 'Enter at least one non-zero number'
list = []
print(calcaverage())
def calculate_average(*args):
# فیلتر کردن و نگه داشتن فقط اعداد (int یا float)
numbers = [x for x in args if isinstance(x, (int, float))]
# اگر لیستی از اعداد خالی بود، ۰ برگردان (یا میتوانید پیام خطا دهید)
if not numbers:
return 0
# محاسبه میانگین
return sum(numbers) / len(numbers)
# مثالهای تست:
print(calculate_average(10, 20, 30)) # خروجی: 20.0
print(calculate_average(10, "سلام", 20, [1, 2])) # خروجی: 15.0 (نادیده گرفتن غیرعددیها)
print(calculate_average("a", "b", "c")) # خروجی: 0
def calculate_average(*args):
total = 0
count = 0
for value in args:
if isinstance(value, (int, float)): # بررسی اینکه آیا مقدار عددی است
total += value
count += 1
# محاسبه میانگین
if count == 0:
return 0 # اگر هیچ عددی وجود نداشت، میانگین صفر برمیگردد
return total / count
# مثال استفاده از تابع
average = calculate_average(10, 20, 30, 'a', None, 15.5, 5)
print(f"میانگین اعداد: {average}")
جوابت را با Markdown بنویس و ثبت کن
برای استفاده از این بخش باید وارد حساب کاربریت بشی
ورود/ثبت نامتوضیح کوتاهی بنویسید تا تیم بررسی کند.