На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 5
ссылка на сообщение  Отправлено: 16.02.23 20:02. Заголовок: 17 задание №332


Помогите пожалуйста
Е. Джобс) В файле 17-332.txt содержится последовательность целых чисел. Элементы последовательности – четырёхзначные натуральные числа. Найдите все тройки элементов последовательности, в которых первое и последнее число тройки имеют одинаковую сумму цифр, а среднее число тройки меньше, чем среднее арифметическое всех чисел в файле, кратных 17. В ответе запишите количество найденных троек, затем самую часто встречающуюся сумму разрядов среди средних чисел таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
мой код:
a=b=[]
sred=suma1=sama2=suma3=0
f=open("17-332.txt ")
for s in f:
a.append(int(s))
for x in a:
if x%17==0:
b.append(x)
sred=sum(b)/len(b)
kol=0
res=-1000
for i in range(1,len(a)-3):
while (num != 0):
suma1 = suma1 + a % 10
a = a // 10
while (num != 0):
suma3 = suma3 + a[i+2] % 10
a[i+2] = a[i+2] // 10
while (num != 0):
suma2 = suma2 + a[i+1] % 10
a[i+1] = a[i+1] // 10
res=max(res,summ2)
if suma1==suma2 and a[i+1]< sred:
kol+=1

print(kol,res)
у меня изначально ошибка где-то в массиве "B", потому что он на экран не выводится.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 2 [только новые]


Администратор




Сообщение: 3907
ссылка на сообщение  Отправлено: 18.02.23 13:48. Заголовок: Попробуйте оформить ..


Попробуйте оформить програму так, как написано в желтой рамке вверху. Сейчас очень сложно разбираться.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 352
ссылка на сообщение  Отправлено: 18.03.23 07:43. Заголовок: Катя Иванова пишет: ..


Катя Иванова пишет:

 цитата:
a=b=[]
sred=suma1=sama2=suma3=0
f=open("17-332.txt ")
for s in f:
a.append(int(s))
for x in a:
if x%17==0:
b.append(x)
sred=sum(b)/len(b)
kol=0
res=-1000
for i in range(1,len(a)-3): скорее всего будет необходимо заменить на for i in range(len(a)-2):
while (num != 0):
suma1 = suma1 + a % 10
a = a // 10
while (num != 0):
suma3 = suma3 + a[i+2] % 10
a[i+2] = a[i+2] // 10
while (num != 0):
suma2 = suma2 + a[i+1] % 10
a[i+1] = a[i+1] // 10
res=max(res,summ2)
if suma1==suma2 and a[i+1]< sred:
kol+=1

print(kol,res)


Катя Иванова, с переменными нужно быть аккуратнее, у одной и той же переменной буковки должны быть одинаковые (выделил жирным)! А у вас они пляшут!
Катя Иванова пишет:

 цитата:
у меня изначально ошибка где-то в массиве "B", потому что он на экран не выводится.


Без правильного форматирования программы невозможно понять ошибку, возможно у вас код работающий с массивом b выглядит так:
 
for x in a:
if x%17 == 0:
b.append(x)
sred = sum(b)/len(b)

вот он и выдает ошибку, надо отформатировать его так как показано ниже,
кстати, начало:

f=open("17-332.txt ")
for s in f:
a.append(int(s))

можно сократить, примерно так:
 
a = [int(x) for x in open("17-332.txt")]

for x in a:
if x%17 == 0:
b.append(x)
sred = sum(b)/len(b)
Этот код должен работать правильно.

А каково назначение переменных, выделенных красным и откуда они берут свои начальные значения - остается только гадать...
Поэтому, мне кажется, будет проще написать новый код, чем довести ваш до рабочего состояния.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1549
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет