Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 14, 2013 19:28:05

morgan6206
Зарегистрирован: 2013-10-07
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Отобрать числа из одного массива в другой, по определенным условиям.

На основе исходного массива B сформировать новый массив C. В массив C отобрать те элементы, которые больше среднего арифметического массива B и стоят на местах с четными индексами.

Столкнулся с рядом проблем:

  • Выдает ошибку в предпоследней строчке “invalid sintaxis”

  • Как на Питоне отобрать элементы из одного массива в другой. На Паскале это выглядит приблизительно так:
    b[bN] := a[i];
Как мне разобраться с этими проблемами

n = 10
z = 10.0
print('Введите массив:')
a = [int(input('a[' + str(x) + '] = ')) for x in range(n)]
sred_arifm = sum(a)/z
if x%2=0:
    if a>sred_arifm:

Офлайн

#2 Окт. 14, 2013 20:01:38

morgan6206
Зарегистрирован: 2013-10-07
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Отобрать числа из одного массива в другой, по определенным условиям.

Все сделал

Офлайн

#3 Окт. 14, 2013 20:08:20

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Отобрать числа из одного массива в другой, по определенным условиям.

# -*- coding:utf-8 -*-
print 'Введите массив (нечисловое значение для окончания ввода):'
array = []
while 1:
    x = raw_input("Число:")
    if x.isnumeric():
        array.append(int(x))
    else:
        break
avg = float(sum(array))/len(array)
result = [x for index, x in enumerate(array) if x > avg and not index % 2]

ЗЫ. Не проверял. Лень.



Офлайн

#4 Окт. 23, 2013 20:53:26

morgan6206
Зарегистрирован: 2013-10-07
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Отобрать числа из одного массива в другой, по определенным условиям.

FishHook
Если не трудно, объясните каждую строку. Только начал изучать и не могу понять, что за что отвечает. Заранее благодарен!
Еще я не понял как в вашей программе ввести массив, ввожу “1”, выдает ошибку:

Traceback (most recent call last):
File "C:/Python26/lab", line 5, in <module>
if x.isnumeric():
AttributeError: 'str' object has no attribute 'isnumeric'

Мне нужен ввод массива от 1 до 10

Отредактировано morgan6206 (Окт. 23, 2013 21:02:03)

Офлайн

#5 Окт. 23, 2013 22:22:13

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Отобрать числа из одного массива в другой, по определенным условиям.

morgan6206
AttributeError: ‘str’ object has no attribute ‘isnumeric’
У тебя Python 2.x, такой метод есть в Python 3.x



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version