Форум сайта python.su
Составить список из 250 случайных чисел. Определить среднеарифметическое чисел, которые заканчиваются на 2. Если таких нет вывести сообщение.
Офлайн
import random
numbers = [random.randint(0, 100) for i in range(250)]
count = 0
numbers_sum = 0
for i in numbers:
if i % 10 == 2:
count += 1
numbers_sum += i
print(numbers_sum / count)
Отредактировано Columbia (Март 13, 2017 10:33:15)
Офлайн
from random import randrange a,s,j=[randrange(-9*10**100,9*10**100) for i in range(250)],0,0 for i in range(len(a)): if a[i]%int('1'+'0'*(len(str(a[i]))-len(str(a[i]))+1))==2 or a[i]==2: s,j=s+a[i],j+1 print(s/j)
Офлайн
recidivist, ваш код - говно, простите, если обидел
Офлайн
wi34rd, мне кажется, Вам ещё рано разбрасываться такими оценками.
Офлайн
a,s,j=,0,0Явное лучше неявного. © Дзен Python, лучше отдельно присваивать каждой переменной значение в данном случае.
for i in range(len(a)):Правильнее так:
for i in a: #работаем с i, а не с a[i]
if a%int('1'+'0'*(len(str(a))-len(str(a))+1))==2 or a==2:Тут вообще какой-то ад.
остаток от деления на 10 не собртает, например, на 123123 не оканчивается на 2
Отредактировано wi34rd (Март 13, 2017 16:25:14)
Офлайн
wi34rdЯ не первый раз обращаю внимание на Ваш код и если я до сих пор ничего не сказал, это не значит что с ним всё в порядке.
Shaman, мне кажется, не вам об этом мне говорить.
Офлайн
ShamanЖаль.
я до сих пор ничего не сказал
Офлайн
wi34rdПопробуйте отполировать свой “факториал”.
Жаль.
Офлайн
Офлайн